From: Junio C Hamano Date: Sun, 27 Apr 2008 17:21:30 GMT Subject: Re: [PATCH] Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh Message-ID: <7viqy3gqn9.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080427113123.GA3712@steel.home> Alex Riesen writes: > As a nice side effect it also fixes t2002-checkout-cache-u.sh on FreeBSD 4, > /bin/sh of which has problems interpreting "! command" construction. > > Signed-off-by: Alex Riesen > --- > > To be honest - it was the other way around: I wanted to fix the test > on FreeBSD, but ended up using --exit-code and test_must_fail Do you mean /bin/sh there misinterprets "! cmd1 | cmd2" as "(! cmd1) | cmd2" and always returns true or something silly like that? I see a few other places in t3400, t3700, t5302, t7002, etc. that use that construct without an obvious workaround "! (cmd1 | cmd2)" which t0030 uses. > test_expect_success \ > 'with -u, git checkout-index picks up stat information from new files.' ' > rm -f path0 && > git read-tree $t && > git checkout-index -u -f -a && > -git diff-files | diff - /dev/null' > +git diff-files --exit-code' Is this something FreeBSD 4 has trouble with as well (not a request to drop this hunk but asking for info)?