From: Junio C Hamano Date: Tue, 6 Jun 2006 05:44:31 +0000 (+0000) Subject: Autogenerated HTML docs for v1.4.0-rc1 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=f0a85daaf3d624dcf841cad8d5d243e6da55ea70;p=git.git Autogenerated HTML docs for v1.4.0-rc1 --- diff --git a/git-p4import.html b/git-p4import.html new file mode 100644 index 00000000..11504382 --- /dev/null +++ b/git-p4import.html @@ -0,0 +1,460 @@ + + + + + + +git-p4import(1) + + + +

SYNOPSIS

+
+

git-p4import [-q|-v] [--authors <file>] [-t <timezone>] <//p4repo/path> <branch>

+

git-p4import --stitch <//p4repo/path>

+

git-p4import

+
+

DESCRIPTION

+
+

Import a Perforce repository into an existing git repository. When +a <//p4repo/path> and <branch> are specified a new branch with the +given name will be created and the initial import will begin.

+

Once the initial import is complete you can do an incremental import +of new commits from the Perforce repository. You do this by checking +out the appropriate git branch and then running git-p4import without +any options.

+

The standard p4 client is used to communicate with the Perforce +repository; it must be configured correctly in order for git-p4import +to operate (see below).

+
+

OPTIONS

+
+
+
+-q +
+
+

+ Do not display any progress information. +

+
+
+-v +
+
+

+ Give extra progress information. +

+
+
+--authors +
+
+

+ Specify an authors file containing a mapping of Perforce user + ids to full names and email addresses (see Notes below). +

+
+
+--stitch +
+
+

+ Import the contents of the given perforce branch into the + currently checked out git branch. +

+
+
+--log +
+
+

+ Store debugging information in the specified file. +

+
+
+-t +
+
+

+ Specify that the remote repository is in the specified timezone. + Timezone must be in the format "US/Pacific" or "Europe/London" + etc. You only need to specify this once, it will be saved in + the git config file for the repository. +

+
+
+<//p4repo/path> +
+
+

+ The Perforce path that will be imported into the specified branch. +

+
+
+<branch> +
+
+

+ The new branch that will be created to hold the Perforce imports. +

+
+
+
+

P4 Client

+
+

You must make the p4 client command available in your $PATH and +configure it to communicate with the target Perforce repository. +Typically this means you must set the "$P4PORT" and "$P4CLIENT" +environment variables.

+

You must also configure a p4 client "view" which maps the Perforce +branch into the top level of your git repository, for example:

+
+
+
Client: myhost
+
+Root:   /home/sean/import
+
+Options:   noallwrite clobber nocompress unlocked modtime rmdir
+
+View:
+        //public/jam/... //myhost/jam/...
+
+

With the above p4 client setup, you could import the "jam" +perforce branch into a branch named "jammy", like so:

+
+
+
$ mkdir -p /home/sean/import/jam
+$ cd /home/sean/import/jam
+$ git init-db
+$ git p4import //public/jam jammy
+
+
+

Multiple Branches

+
+

Note that by creating multiple "views" you can use git-p4import +to import additional branches into the same git repository. +However, the p4 client has a limitation in that it silently +ignores all but the last "view" that maps into the same local +directory. So the following will not work:

+
+
+
View:
+        //public/jam/... //myhost/jam/...
+        //public/other/... //myhost/jam/...
+        //public/guest/... //myhost/jam/...
+
+

If you want more than one Perforce branch to be imported into the +same directory you must employ a workaround. A simple option is +to adjust your p4 client before each import to only include a +single view.

+

Another option is to create multiple symlinks locally which all +point to the same directory in your git repository and then use +one per "view" instead of listing the actual directory.

+
+

Tags

+
+

A git tag of the form p4/xx is created for every change imported from +the Perforce repository where xx is the Perforce changeset number. +Therefore after the import you can use git to access any commit by its +Perforce number, eg. git show p4/327.

+

The tag associated with the HEAD commit is also how git-p4import +determines if their are new changes to incrementally import from the +Perforce repository.

+

If you import from a repository with many thousands of changes +you will have an equal number of p4/xxxx git tags. Git tags can +be expensive in terms of disk space and repository operations. +If you don't need to perform further incremental imports, you +may delete the tags.

+
+

Notes

+
+

You can interrupt the import (eg. ctrl-c) at any time and restart it +without worry.

+

Author information is automatically determined by querying the +Perforce "users" table using the id associated with each change. +However, if you want to manually supply these mappings you can do +so with the "--authors" option. It accepts a file containing a list +of mappings with each line containing one mapping in the format:

+
+
+
    perforce_id = Full Name <email@address.com>
+
+
+

Author

+
+

Written by Sean Estabrooks <seanlkml@sympatico.ca>

+
+

GIT

+
+

Part of the git(7) suite

+
+ + + diff --git a/git-p4import.txt b/git-p4import.txt new file mode 100644 index 00000000..b8ff1e9b --- /dev/null +++ b/git-p4import.txt @@ -0,0 +1,165 @@ +git-p4import(1) +=============== + +NAME +---- +git-p4import - Import a Perforce repository into git + + +SYNOPSIS +-------- +`git-p4import` [-q|-v] [--authors ] [-t ] + +`git-p4import` --stitch + +`git-p4import` + + +DESCRIPTION +----------- +Import a Perforce repository into an existing git repository. When +a and are specified a new branch with the +given name will be created and the initial import will begin. + +Once the initial import is complete you can do an incremental import +of new commits from the Perforce repository. You do this by checking +out the appropriate git branch and then running `git-p4import` without +any options. + +The standard p4 client is used to communicate with the Perforce +repository; it must be configured correctly in order for `git-p4import` +to operate (see below). + + +OPTIONS +------- +-q:: + Do not display any progress information. + +-v:: + Give extra progress information. + +\--authors:: + Specify an authors file containing a mapping of Perforce user + ids to full names and email addresses (see Notes below). + +\--stitch:: + Import the contents of the given perforce branch into the + currently checked out git branch. + +\--log:: + Store debugging information in the specified file. + +-t:: + Specify that the remote repository is in the specified timezone. + Timezone must be in the format "US/Pacific" or "Europe/London" + etc. You only need to specify this once, it will be saved in + the git config file for the repository. + +:: + The Perforce path that will be imported into the specified branch. + +:: + The new branch that will be created to hold the Perforce imports. + + +P4 Client +--------- +You must make the `p4` client command available in your $PATH and +configure it to communicate with the target Perforce repository. +Typically this means you must set the "$P4PORT" and "$P4CLIENT" +environment variables. + +You must also configure a `p4` client "view" which maps the Perforce +branch into the top level of your git repository, for example: + +------------ +Client: myhost + +Root: /home/sean/import + +Options: noallwrite clobber nocompress unlocked modtime rmdir + +View: + //public/jam/... //myhost/jam/... +------------ + +With the above `p4` client setup, you could import the "jam" +perforce branch into a branch named "jammy", like so: + +------------ +$ mkdir -p /home/sean/import/jam +$ cd /home/sean/import/jam +$ git init-db +$ git p4import //public/jam jammy +------------ + + +Multiple Branches +----------------- +Note that by creating multiple "views" you can use `git-p4import` +to import additional branches into the same git repository. +However, the `p4` client has a limitation in that it silently +ignores all but the last "view" that maps into the same local +directory. So the following will *not* work: + +------------ +View: + //public/jam/... //myhost/jam/... + //public/other/... //myhost/jam/... + //public/guest/... //myhost/jam/... +------------ + +If you want more than one Perforce branch to be imported into the +same directory you must employ a workaround. A simple option is +to adjust your `p4` client before each import to only include a +single view. + +Another option is to create multiple symlinks locally which all +point to the same directory in your git repository and then use +one per "view" instead of listing the actual directory. + + +Tags +---- +A git tag of the form p4/xx is created for every change imported from +the Perforce repository where xx is the Perforce changeset number. +Therefore after the import you can use git to access any commit by its +Perforce number, eg. git show p4/327. + +The tag associated with the HEAD commit is also how `git-p4import` +determines if their are new changes to incrementally import from the +Perforce repository. + +If you import from a repository with many thousands of changes +you will have an equal number of p4/xxxx git tags. Git tags can +be expensive in terms of disk space and repository operations. +If you don't need to perform further incremental imports, you +may delete the tags. + + +Notes +----- +You can interrupt the import (eg. ctrl-c) at any time and restart it +without worry. + +Author information is automatically determined by querying the +Perforce "users" table using the id associated with each change. +However, if you want to manually supply these mappings you can do +so with the "--authors" option. It accepts a file containing a list +of mappings with each line containing one mapping in the format: + +------------ + perforce_id = Full Name +------------ + + +Author +------ +Written by Sean Estabrooks + + +GIT +--- +Part of the gitlink:git[7] suite +