aboutsummaryrefslogtreecommitdiff
path: root/reflog-walk.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-05-13 16:47:21 -0400
committerJunio C Hamano <gitster@pobox.com>2016-05-14 10:37:17 -0700
commitf831acc6c6839426e6ccb42d7fd1931863bb07ac (patch)
tree69121fa8f971ae541a0448f56c09bef2b36ffdbd /reflog-walk.c
parent577dfd03024f1913c6eba63b43a56d254e694347 (diff)
downloadgit-f831acc6c6839426e6ccb42d7fd1931863bb07ac.tar.gz
git-f831acc6c6839426e6ccb42d7fd1931863bb07ac.tar.xz
t9107: use "return 1" instead of "exit 1"
When a test runs a loop, it cannot rely on the usual &&-chaining to propagate a failure inside the loop; it needs to break out with a failure signal. However, unless you are in a subshell, doing so with "exit 1" will exit the entire test script, not just the test snippet we are in (and cause the harness to complain that test_done was never reached). So the fundamental point of this patch is s/exit/return/. But while we're there, let's fix a number of style and readability issues: - snippets in double-quotes need an extra layer of quoting for their meta-characters; let's avoid that by using single quotes - accumulating loop output by appending to a file in each iteration is brittle, as it can be affected by content left in the file by earlier tests. Instead, it's better to redirect stdout for the whole loop, so we know the output only comes from that loop. - using "test -z" to check that diff output is empty is overly verbose; we can just ask diff to use --exit-code. - we can factor out long lists of refs to make it more obvious we're using the same ones in each loop - subshells are unnecessary when ending an &&-chain with "|| return 1" - minor style fixups like space-after-redirection, and "do" and "done" on their own lines Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reflog-walk.c')
0 files changed, 0 insertions, 0 deletions