Subject: Re: [PATCH 04/22] t/annotate-tests.sh: avoid redundant use of cat

From: Junio C Hamano <[email-masked]>
Date: Tue, 05 Mar 2024 16:26:27 -0800

Rubén Justo <[email-masked]> writes:

> On Tue, Mar 05, 2024 at 02:28:15PM -0800, Junio C Hamano wrote:
>> "Beat Bolli" <[email-masked]> writes:
>> 
>> > Signed-off-by: Beat Bolli <[email-masked]>
>> > ---
>> >  t/annotate-tests.sh | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
>> > index 5e21e84f3884..87572459e4b8 100644
>> > --- a/t/annotate-tests.sh
>> > +++ b/t/annotate-tests.sh
>> > @@ -532,7 +532,7 @@ test_expect_success 'blame -L :funcname with userdiff driver' '
>> >  		"$(cat file.template)" &&
>> >  	test_commit --author "B <[email-masked]>" \
>> >  		"change" "$fortran_file" \
>> > -		"$(cat file.template | sed -e s/ChangeMe/IWasChanged/)" &&
>> > +		"$(sed -e s/ChangeMe/IWasChanged/ file.template)" &&
>> 
>> Obviously correct, but 
>> 
>> 		"$(sed -e s/ChangeMe/IWasChanged/ <file.template)" &&
>> 
>> might be a more faithful conversion (when "sed" looks at its ARGV[],
>> it did not find anything before, and it would not find anything
>> after this patch).
>
> Good point.  Thank you for being careful.

Heh, I actually consider it the most irrelevant one among my
comments.  I actally do not think there is a way tell if your "sed"
invocation is reading from one of the files listed on the command
line, or reading from the standard input, from your sed script,
unlike say Perl that has access to @ARGV.  Certainly a simple s/A/B/
would not care.

Compared to that, rewriting $(cat file | wc -l) to $(wc -l <file)
does matter, which was done in [05/22].