git-commit-vandalism/t/chainlint/semicolon.expect
Eric Sunshine 3865a7e36d chainlint.sed: tolerate harmless ";" at end of last line in block
chainlint.sed flags ";" when used as a command terminator since it
breaks the &&-chain, thus can allow failures to go undetected. However,
when a command terminated by ";" is the last command in the body of a
compound statement, such as `command-2` in:

    if test $# -gt 1
    then
        command-1 &&
        command-2;
    fi

then the ";" is harmless and the exit code from `command-2` is passed
through untouched and becomes the exit code of the compound statement,
as if the ";" was not present. Therefore, tolerate a trailing ";" in
this position rather than complaining about broken &&-chain.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-12-13 14:15:29 -08:00

21 lines
261 B
Plaintext

(
cat foo ; ?!SEMI?! echo bar ?!AMP?!
cat foo ; ?!SEMI?! echo bar
>) &&
(
cat foo ; ?!SEMI?! echo bar &&
cat foo ; ?!SEMI?! echo bar
>) &&
(
echo "foo; bar" &&
cat foo; ?!SEMI?! echo bar
>) &&
(
foo;
>) &&
(
cd foo &&
for i in a b c; do
echo;
> done)