# [PATCH] git-p4: Fix checkout bug when using --import-local.

2 messages from 2008-08-27 to 2008-08-28. Participants: Tor Arvid Lund, Simon Hausmann.
Thread: https://gitlist.dev/t/15229

## Tor Arvid Lund, 2008-08-27 22:36

Subject: [PATCH] git-p4: Fix checkout bug when using --import-local.
Message-ID: <1219876572-24736-1-git-send-email-torarvid@gmail.com>
URL: https://gitlist.dev/e/1219876572-24736-1-git-send-email-torarvid%40gmail.com

```
When this option is passed to git p4 clone, the checkout at the end would
previously fail. This patch fixes it by optionally creating the master branch
from refs/heads/p4/master, which is the correct one for this option.

Signed-off-by: Tor Arvid Lund <torarvid@gmail.com>
---
 contrib/fast-import/git-p4 |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 46136d4..c4b8b4c 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -1733,8 +1733,12 @@ class P4Clone(P4Sync):
         if not P4Sync.run(self, depotPaths):
             return False
         if self.branch != "master":
-            if gitBranchExists("refs/remotes/p4/master"):
-                system("git branch master refs/remotes/p4/master")
+            if self.importIntoRemotes:
+                masterbranch = "refs/remotes/p4/master"
+            else:
+                masterbranch = "refs/heads/p4/master"
+            if gitBranchExists(masterbranch):
+                system("git branch master %s" % masterbranch)
                 system("git checkout -f")
             else:
                 print "Could not detect main branch. No checkout/master branch created."
-- 
1.6.0.GIT

```

## Simon Hausmann, 2008-08-28 07:29

Subject: Re: [PATCH] git-p4: Fix checkout bug when using --import-local.
Message-ID: <200808280929.07898.simon@lst.de>
URL: https://gitlist.dev/e/200808280929.07898.simon%40lst.de
In-Reply-To: <1219876572-24736-1-git-send-email-torarvid@gmail.com>

```
On Thursday 28 August 2008 00:36:12 Tor Arvid Lund wrote:
> When this option is passed to git p4 clone, the checkout at the end would
> previously fail. This patch fixes it by optionally creating the master
> branch from refs/heads/p4/master, which is the correct one for this option.
>
> Signed-off-by: Tor Arvid Lund <torarvid@gmail.com>

Good catch :)

Acked-By: Simon Hausmann <simon@lst.de>



Simon

>  contrib/fast-import/git-p4 |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
> index 46136d4..c4b8b4c 100755
> --- a/contrib/fast-import/git-p4
> +++ b/contrib/fast-import/git-p4
> @@ -1733,8 +1733,12 @@ class P4Clone(P4Sync):
>          if not P4Sync.run(self, depotPaths):
>              return False
>          if self.branch != "master":
> -            if gitBranchExists("refs/remotes/p4/master"):
> -                system("git branch master refs/remotes/p4/master")
> +            if self.importIntoRemotes:
> +                masterbranch = "refs/remotes/p4/master"
> +            else:
> +                masterbranch = "refs/heads/p4/master"
> +            if gitBranchExists(masterbranch):
> +                system("git branch master %s" % masterbranch)
>                  system("git checkout -f")
>              else:
>                  print "Could not detect main branch. No checkout/master
> branch created."

```
