Subject: Re: [PATCH] t7605: use test_path_is_file instead of test -f

From: Junio C Hamano <[email-masked]>
Date: Tue, 10 Mar 2026 06:30:27 -0700

"Mansi Singh via GitGitGadget" <[email-masked]> writes:

The e-mail header seems to imply you are "Mansi Singh".  Do you want
to be known to this community under that name, or just "Mansi"?

> From: Mansi <[email-masked]>
>
> Replace old-style 'test -f' path checks with the modern
> test_path_is_file helper in the merge_c1_to_c2_cmds block.
>
> The helper provides clearer failure messages and is the
> established convention in Git's test suite.

OK.

> These instances were found using:
>   grep -rn "test -[efd]" t/ --include="*.sh"

People seem to add the above paragraph to their test-path helper
patches, but unless the coverage of the work is fairly thorough and
you want to say "all the similar issues should be found with this
command and I addressed all of them", I do not see much point saying
how you found one of them and addressed it.

You could have used "git grep -e <pattern> -- t/\*.sh", or you could
have been working to fix something in t7605 and noticed these while
you were doing something else to the file.

I do not see it as too huge a deal and it is probably not a cause to
send in another iteration once it is already written, though.

> Signed-off-by: Mansi <[email-masked]>

No matter which name you pick, this should match the identity used
on your in-body "From:" header.  In this message you are using the
same "Mansi" with address, which is good, but see also
Documentation/SubmittingPatches::real-name section.

> diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh
> index 5d56c38546..44de97a480 100755
> --- a/t/t7605-merge-resolve.sh
> +++ b/t/t7605-merge-resolve.sh
> @@ -34,9 +34,9 @@ merge_c1_to_c2_cmds='
>  	test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" &&
>  	test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" &&
>  	git diff --exit-code &&
> -	test -f c0.c &&
> -	test -f c1.c &&
> -	test -f c2.c &&
> +	test_path_is_file c0.c &&
> +	test_path_is_file c1.c &&
> +	test_path_is_file c2.c &&

The patch is quite straight-forward.  Good.

>  	test 3 = $(git ls-tree -r HEAD | wc -l) &&
>  	test 3 = $(git ls-files | wc -l)
>  '
>
> base-commit: d181b9354cf85b44455ce3ca9e6af0b9559e0ae2