From ac34efcf214269201849a1ca32ab86614bfe4c8b Mon Sep 17 00:00:00 2001 From: Pete Wyckoff Date: Sat, 12 Mar 2011 11:23:23 -0500 Subject: git-p4: fix clone @all regression e32e00d (git-p4: better message for "git-p4 sync" when not cloned, 2011-02-19) broke the use of the "@all" revision specifier, e.g., git-p4 clone //depot/xxx@all Fix it as per Tor Arvid's quick patch. Signed-off-by: Pete Wyckoff Reported-by: Anatol Pomozov Based-on-patch-by: Tor Arvid Lund Signed-off-by: Junio C Hamano --- contrib/fast-import/git-p4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index 725af7599..3c44524cd 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -1694,7 +1694,7 @@ class P4Sync(Command): changes.sort() else: - if not self.p4BranchesInGit: + if not isinstance(self, P4Clone) and not self.p4BranchesInGit: die("No remote p4 branches. Perhaps you never did \"git p4 clone\" in here."); if self.verbose: print "Getting p4 changes for %s...%s" % (', '.join(self.depotPaths), -- cgit v1.2.1 From f0c9fe050474e0f2a947366a82a62efd6afbf2ce Mon Sep 17 00:00:00 2001 From: Pete Wyckoff Date: Sat, 12 Mar 2011 11:24:49 -0500 Subject: git-p4: test clone @all Cloning a p4 depot by default generates a single commit. The use of the "@all" revision specifier instead tells git-p4 to import all commits. Check to make sure both these invocations work as expected. Signed-off-by: Pete Wyckoff Signed-off-by: Junio C Hamano --- t/t9800-git-p4.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh index 1969e6b9d..abe7c64ba 100755 --- a/t/t9800-git-p4.sh +++ b/t/t9800-git-p4.sh @@ -37,11 +37,27 @@ test_expect_success 'add p4 files' ' echo file1 >file1 && p4 add file1 && p4 submit -d "file1" && + echo file2 >file2 && + p4 add file2 && + p4 submit -d "file2" && cd "$TRASH_DIRECTORY" ' test_expect_success 'basic git-p4 clone' ' "$GITP4" clone --dest="$git" //depot && + cd "$git" && + git log --oneline >lines && + test_line_count = 1 lines && + cd .. && + rm -rf "$git" && mkdir "$git" +' + +test_expect_success 'git-p4 clone @all' ' + "$GITP4" clone --dest="$git" //depot@all && + cd "$git" && + git log --oneline >lines && + test_line_count = 2 lines && + cd .. && rm -rf "$git" && mkdir "$git" ' -- cgit v1.2.1