When using the --branch argument to "git p4 clone", one might specify a destination for p4 changes different from the default refs/remotes/p4/master. Both cases should create a master branch and checkout files. Signed-off-by: Pete Wyckoff <pw@xxxxxxxx> --- Documentation/git-p4.txt | 3 +-- git-p4.py | 20 +++++++++----------- t/t9806-git-p4-options.sh | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt index beff622..2623bee 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.txt @@ -174,8 +174,7 @@ subsequent 'sync' operations. --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'. If used - with an initial clone, no HEAD will be checked out. + will be prepended. The default branch is 'p4/master'. + This example imports a new remote "p4/proj2" into an existing git repository: diff --git a/git-p4.py b/git-p4.py index 537eac6..d92f00c 100755 --- a/git-p4.py +++ b/git-p4.py @@ -3124,17 +3124,15 @@ class P4Clone(P4Sync): if not P4Sync.run(self, depotPaths): return False - if self.branch != "master": - if self.importIntoRemotes: - masterbranch = "refs/remotes/p4/master" - else: - masterbranch = "refs/heads/p4/master" - if gitBranchExists(masterbranch): - system("git branch master %s" % masterbranch) - if not self.cloneBare: - system("git checkout -f") - else: - print "Could not detect main branch. No checkout/master branch created." + + # create a master branch and check out a work tree + if gitBranchExists(self.branch): + system([ "git", "branch", "master", self.branch ]) + if not self.cloneBare: + system([ "git", "checkout", "-f" ]) + else: + print 'Not checking out any branch, use ' \ + '"git checkout -q -b master <branch>"' # auto-set this variable if invoked with --use-client-spec if self.useClientSpec_from_options: diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh index 4900aef..2ad3a3e 100755 --- a/t/t9806-git-p4-options.sh +++ b/t/t9806-git-p4-options.sh @@ -27,7 +27,7 @@ test_expect_success 'clone no --git-dir' ' test_must_fail git p4 clone --git-dir=xx //depot ' -test_expect_failure 'clone --branch should checkout master' ' +test_expect_success 'clone --branch should checkout master' ' git p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot && test_when_finished cleanup_git && ( -- 1.8.1.350.gdbf6fd0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html