--branch <branch>::
Import changes into given branch. If the branch starts with
'refs/', it will be used as is, otherwise the path 'refs/heads/'
- will be prepended. The default branch is 'master'.
+ will be prepended. The default branch is 'master'. If used
+ with an initial clone, no HEAD will be checked out.
++
+This example imports a new remote "p4/proj2" into an existing
+git repository:
+----
+ $ git init
+ $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2
+----
--detect-branches::
Use the branch detection algorithm to find new paths in p4. It is
By default, p4 branches are stored in 'refs/remotes/p4/',
where they will be treated as remote-tracking branches by
linkgit:git-branch[1] and other commands. This option instead
- puts p4 branches in 'refs/heads/p4/'.
+ puts p4 branches in 'refs/heads/p4/'. Note that future
+ sync operations must specify '--import-local' as well so that
+ they can find the p4 branches in refs/heads.
--max-changes <n>::
Limit the number of imported changes to 'n'. Useful to
Use a client spec to find the list of interesting files in p4.
The client spec is discovered using 'p4 client -o' which checks
the 'P4CLIENT' environment variable and returns a mapping of
- depot files to workspace files.
+ depot files to workspace files. Note that a depot path is
+ still required, but files found in the path that match in
+ the client spec view will be laid out according to the client
+ spec.
Clone options
~~~~~~~~~~~~~
-M[<n>]::
Detect renames. See linkgit:git-diff[1]. Renames will be
- represented in p4 using explicit 'move' operations.
+ represented in p4 using explicit 'move' operations. There
+ is no corresponding option to detect copies, but there are
+ variables for both moves and copies.
--preserve-user::
Re-author p4 changes before submitting to p4. This option
"//depot/my/project@1,6"::
Import only changes 1 through 6.
-"//depot/proj1 //depot/proj2@all"::
- Import all changes from both named depot paths.
+"//depot/proj1@all //depot/proj2@all"::
+ Import all changes from both named depot paths into a single
+ repository. Only files below these directories are included.
+ There is not a subdirectory in git for each "proj1" and "proj2".
+ You must use the '--destination' option when specifying more
+ than one depot path. The revision specifier must be specified
+ identically on each depot path. If there are files in the
+ depot paths with the same name, the path with the most recently
+ updated version of the file is the one that appears in git.
See 'p4 help revisions' for the full syntax of p4 revision specifiers.
git-p4.allowSubmit::
By default, any branch can be used as the source for a 'git p4
submit' operation. This configuration variable, if set, permits only
- the named branches to be used as submit sources.
+ the named branches to be used as submit sources. Branch names
+ must be the short names (no "refs/heads/"), and should be
+ separated by commas (","), with no spaces.
git-p4.skipUserNameCheck::
If the user running 'git p4 submit' does not exist in the p4