On Sat, Feb 5, 2011 at 11:52 PM, Pete Wyckoff <pw@padd.com> wrote:
Show 82 quoted lines
> ---
> contrib/fast-import/git-p4 | 17 +++++++++++++----
> t/t9800-git-p4.sh | 10 ++++++++++
> 2 files changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
> index 5b08cd6..efc5dce 100755
> --- a/contrib/fast-import/git-p4
> +++ b/contrib/fast-import/git-p4
> @@ -1771,10 +1771,13 @@ class P4Clone(P4Sync):
> help="where to leave result of the clone"),
> optparse.make_option("-/", dest="cloneExclude",
> action="append", type="string",
> - help="exclude depot path")
> + help="exclude depot path"),
> + optparse.make_option("--bare", dest="cloneBare",
> + action="store_true", default=False),
> ]
> self.cloneDestination = None
> self.needsGit = False
> + self.cloneBare = False
>
> # This is required for the "append" cloneExclude action
> def ensure_value(self, attr, value):
> @@ -1814,11 +1817,16 @@ class P4Clone(P4Sync):
> self.cloneDestination = self.defaultDestination(args)
>
> print "Importing from %s into %s" % (', '.join(depotPaths), self.cloneDestination)
> +
> if not os.path.exists(self.cloneDestination):
> os.makedirs(self.cloneDestination)
> chdir(self.cloneDestination)
> - system("git init")
> - self.gitdir = os.getcwd() + "/.git"
> +
> + init_cmd = [ "git", "init" ]
> + if self.cloneBare:
> + init_cmd.append("--bare")
> + subprocess.check_call(init_cmd)
> +
> if not P4Sync.run(self, depotPaths):
> return False
> if self.branch != "master":
> @@ -1828,7 +1836,8 @@ class P4Clone(P4Sync):
> masterbranch = "refs/heads/p4/master"
> if gitBranchExists(masterbranch):
> system("git branch master %s" % masterbranch)
> - system("git checkout -f")
> + if not self.cloneBare:
> + system("git checkout -f")
> else:
> print "Could not detect main branch. No checkout/master branch created."
>
> diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh
> index 72c38af..1e7639b 100755
> --- a/t/t9800-git-p4.sh
> +++ b/t/t9800-git-p4.sh
> @@ -87,6 +87,16 @@ test_expect_success 'wildcard files git-p4 clone' '
> rm -rf "$git" && mkdir "$git"
> '
>
> +test_expect_success 'clone bare' '
> + "$GITP4" clone --dest="$git" --bare //depot &&
> + cd "$git" &&
> + test ! -d .git &&
> + bare=`git config --get core.bare` &&
> + test "$bare" = true &&
> + cd "$TRASH_DIRECTORY" &&
> + rm -rf "$git" && mkdir "$git"
> +'
> +
> test_expect_success 'shutdown' '
> pid=`pgrep -f p4d` &&
> test -n "$pid" &&
> --
> 1.7.2.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>