On Mon, 11 Feb 2008 16:20:05 -0800, Junio C Hamano <gitster@xxxxxxxxx> wrote: > "H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes: > > > No, it is not. Some shell weirdness. This fixes it. Don't know off-hand > > if it is portable enough > > > > diff -pur a/t/t5701-clone-local.sh b/t/t5701-clone-local.sh > > --- a/t/t5701-clone-local.sh 2008-02-02 05:09:01 +0100 > > +++ b/t/t5701-clone-local.sh 2008-02-11 11:13:26 +0100 > > @@ -37,8 +37,8 @@ test_expect_success 'local clone from x' > > > > test_expect_success 'local clone from x.git that does not exist' ' > > cd "$D" && > > - if git clone -l -s x.git z > > - then > > + git clone -l -s x.git z > > + if $? ; then > > echo "Oops, should have failed" > > false > > else > > I think your "git clone" is broken and I strongly suspect it is > not your shell (at least the "if" construct in the test). of course it should have been 'if test $?' and as $? is erroneously equal to 0 in this case, this snippet doesn't matter 'git clone' is calling 'cit-clone' which is a shell script, that does exit 1 in the function die: --8<--- die() { echo >&2 "$@" exit 1 } -->8--- but somehow that exit code gets lost > What's > > if $?; then > > In sane shells, I think this tries to execute 0 or perhaps 124 > or whatever the error code from clone as if it was the name of a > command, which would most likely fail and would not take "then" > part (which reports the error). It did not fix, but just made > it ignore the error from "git clone". > > If it were > > if test $? != 0 > then > > it would have made a bit more sense. > > And if (this is a big "if" as I doubt any shell is so broken) > these two are equivalent to your shell, then I do not think it > is portable at all. -- H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11, & 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org http://mirrors.develooper.com/hpux/ http://www.test-smoke.org http://www.goldmark.org/jeff/stupid-disclaimers/ - 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