Subject: Re: [PATCH 2/2] t0000: avoid masking git exit value through pipes

From: Junio C Hamano <[email-masked]>
Date: Wed, 15 Sep 2021 23:23:28 -0700

Taylor Blau <[email-masked]> writes:

>> +	tree=$(cat out | sed -n -e "s/^tree //p" -e "/^author /q") &&
>
> In this and the below tests which had a similar transformation, the
> first invocation does not mask its error, since it's on the right-hand
> side of a pipe.
>
> But piping "git show" to sed will mask the exit code of the former. So
> that makes sense. But I would like to see us avoid an unnecessary
> cat-into-pipe and instead redirect out into sed, like "sed -n -e ...
> <out".

Good eyes.  There is no reason why we want to cat a single file into
pipe (unless we are testing the pipe mechanism of the underlying OS,
that is)---the downstream command can be fed the file from its
standard input, or for commands like "sed" that takes its input from
files listed on the command line, you should be able to write it
without the input "<" redirection.

Thanks.