diff options
-rw-r--r-- | Documentation/git-p4.txt | 3 | ||||
-rwxr-xr-x | git-p4.py | 20 | ||||
-rwxr-xr-x | 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 beff6229c..2623bee5f 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: @@ -3118,17 +3118,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 4900aef19..2ad3a3e0c 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 && ( |