Re: [PATCH] Add compat/fopen.c which returns NULL on attempt to open directory
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 12, 2008, 00:20 UTC
- Message-ID
- <7v8x1r6n62.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20080211111537.2bf47448@pc09.procura.nl>
"H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
Show 17 quoted lines
> 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).
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
thenit 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.