Re: [PATCHv2 4/6] t7510: exit for loop with test result
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:01:37
Jeff King [off-list ref] writes:
quoted
( 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 1Hrm. 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".