Re: [PATCHv2 4/6] t7510: exit for loop with test result
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 13, 2014, 18:23 UTC
- Message-ID
- <xmqqd2ec3byy.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140613114615.GE14066@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 33 quoted lines
>> ( >> for commit in initial second merge fourth-signed fifth-signed sixth-signed master >> do >> - git show --pretty=short --show-signature $commit >actual && >> + git show --pretty=short --show-signature $commit >actual || exit 1 >> grep "Good signature from" actual || exit 1 > > Hrm. The original is: > > X && > Y || exit 1 > > Won't that still exit (i.e., it is already correct)? Doing: > > for X in true false; do > for Y in true false; do > ($X && $Y || exit 1) > echo "$X/$Y: $?" > done > done > > yields: > > true/true: 0 > true/false: 1 > false/true: 1 > false/false: 1 > > (and should still short-circuit Y, because we go from left-to-right). > > I do not mind changing it to keep the style of each line consistent, > though. I would have written it as a series of "&&"-chains, with a > single exit at the end, but I think that is just a matter of preference.
Yeah, series of && chain with a single exit at the end is good, and the subshell is there only to allow us to do that "exit at the end".