Nicolas Pitre <nico@xxxxxxx> wrote: > On Tue, 12 Aug 2008, Shawn O. Pearce wrote: > > +# 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html