From: Junio C Hamano Date: Thu, 14 May 2015 17:44:51 GMT Subject: Re: [PATCH v3 1/9] t5520: fixup file contents comparisons Message-ID: In-Reply-To: Michael Blume writes: > On Wed, May 13, 2015 at 7:42 AM, Junio C Hamano wrote: >> Junio C Hamano writes: >> >>> Paul Tan writes: >>> >>>> Replace the above 2 forms with: >>>> >>>> verbose test "$(cat file)" = expected >>> >>> Quoting is very much a good idea, but I am not enthused by the >>> vision of having to write verbose everywhere in our script. >>> >>> After seeing a script fail, you can run it again with -i -x options; >>> wouldn't it be sufficient? >> ... > > My build starts breaking from this commit, I'm on a mac. > > > expecting success: > (cd dst && > test_must_fail git pull --rebase && > verbose test 1 = "$(find .git/rebase-apply -name "000*" | wc -l)" > ) > > First, rewinding head to replay your work on top of it... > ... > To check out the original branch and stop rebasing, run "git rebase --abort". > > command failed: 'test' '1' '=' ' 1' > not ok 33 - git pull --rebase does not reapply old patches Change that 'verbose test' line to verbose test 1 = $(find .git/rebase-apply -name "000*" | wc -l) i.e. losing the double-quotes around $(). By the way, thanks for a fine demonstration that the 'verbose test' is not very useful. This output > command failed: 'test' '1' '=' ' 1' and that you said "on a mac", _I_ can immediately guess that there is "wc -l" involved, because it has been a frequent source of portability headache. But "verbose" is not helping very much to show there is "wc -l"; unless the person debugging the output has a pretty good idea what can go wrong, that is.