Re: [PATCH] pack-objects: Allow missing base objects when creating thin packs
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
Nicolas Pitre [off-list ref] wrote:
On Tue, 12 Aug 2008, Shawn O. Pearce wrote:quoted
+# Clone patch_clone indirectly by cloning base and fetching. +# +test_expect_success \ + 'indirectly clone patch_clone' \ + '(mkdir user_clone && + cd user_clone && + git init && + git pull ../.git && + test $(git rev-parse HEAD) = $B + + git pull ../patch_clone/.git && + test $(git rev-parse HEAD) = $C + ) + 'What if the first test command fails? Won't its result be ignored?
Isn't the exit status of the subshell the exit status of the last command in the subshell? I just changed the test line to compare to "x$C" instead of $C and it correctly detected the error condition: $ git diff
diff --git a/t/t5306-pack-nobase.sh b/t/t5306-pack-nobase.sh
index 503e9d4..7c55e9e 100755
--- a/t/t5306-pack-nobase.sh
+++ b/t/t5306-pack-nobase.sh@@ -62,7 +62,7 @@ test_expect_success \ test $(git rev-parse HEAD) = $B git pull ../patch_clone/.git && - test $(git rev-parse HEAD) = $C + test $(git rev-parse HEAD) = x$C ) '
$ ./t5306-pack-nobase.sh
* ok 1: setup base
* ok 2: setup patch_clone
* FAIL 3: indirectly clone patch_clone
(mkdir user_clone &&
cd user_clone &&
git init &&
git pull ../.git &&
test $(git rev-parse HEAD) = $B
git pull ../patch_clone/.git &&
test $(git rev-parse HEAD) = x$C
)
* ok 4: clone of patch_clone is incomplete
* failed 1 among 4 test(s)
--
Shawn.