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

3 messages from 2026-03-10 to 2026-03-10. Participants: Mansi Singh via GitGitGadget, Junio C Hamano.
Thread: https://gitlist.dev/t/65191

## Mansi Singh via GitGitGadget, 2026-03-10 05:33

Subject: [PATCH] t7605: use test_path_is_file instead of test -f
Message-ID: <pull.2067.git.1773120813628.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2067.git.1773120813628.gitgitgadget%40gmail.com

```
From: Mansi <mansimaanu8627@gmail.com>

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.

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

Signed-off-by: Mansi <mansimaanu8627@gmail.com>
---
    t7605: use test_path_is_file instead of test -f

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2067%2FMansiSingh17%2Ffix-t7605-test-path-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2067/MansiSingh17/fix-t7605-test-path-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2067

 t/t7605-merge-resolve.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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 &&
 	test 3 = $(git ls-tree -r HEAD | wc -l) &&
 	test 3 = $(git ls-files | wc -l)
 '

base-commit: d181b9354cf85b44455ce3ca9e6af0b9559e0ae2
-- 
gitgitgadget

```

## Junio C Hamano, 2026-03-10 13:30

Subject: Re: [PATCH] t7605: use test_path_is_file instead of test -f
Message-ID: <xmqq7brjyfpo.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq7brjyfpo.fsf%40gitster.g
In-Reply-To: <pull.2067.git.1773120813628.gitgitgadget@gmail.com>

```
"Mansi Singh via GitGitGadget" <gitgitgadget@gmail.com> 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 <mansimaanu8627@gmail.com>
>
> 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 <mansimaanu8627@gmail.com>

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

```

## Mansi Singh via GitGitGadget, 2026-03-10 22:50

Subject: [PATCH v2] t7605: use test_path_is_file instead of test -f
Message-ID: <pull.2067.v2.git.1773183022175.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2067.v2.git.1773183022175.gitgitgadget%40gmail.com
In-Reply-To: <pull.2067.git.1773120813628.gitgitgadget@gmail.com>

```
From: Mansi Singh <mansimaanu8627@gmail.com>

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.

Signed-off-by: Mansi Singh <mansimaanu8627@gmail.com>
---
    t7605: use test_path_is_file instead of test -f

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2067%2FMansiSingh17%2Ffix-t7605-test-path-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2067/MansiSingh17/fix-t7605-test-path-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2067

Range-diff vs v1:

 1:  8753a5d919 ! 1:  388d8d7118 t7605: use test_path_is_file instead of test -f
     @@
       ## Metadata ##
     -Author: Mansi <mansimaanu8627@gmail.com>
     +Author: Mansi Singh <mansimaanu8627@gmail.com>
      
       ## Commit message ##
          t7605: use test_path_is_file instead of test -f
     @@ Commit message
          The helper provides clearer failure messages and is the
          established convention in Git's test suite.
      
     -    These instances were found using:
     -      grep -rn "test -[efd]" t/ --include="*.sh"
     -
     -    Signed-off-by: Mansi <mansimaanu8627@gmail.com>
     +    Signed-off-by: Mansi Singh <mansimaanu8627@gmail.com>
      
       ## t/t7605-merge-resolve.sh ##
      @@ t/t7605-merge-resolve.sh: merge_c1_to_c2_cmds='


 t/t7605-merge-resolve.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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 &&
 	test 3 = $(git ls-tree -r HEAD | wc -l) &&
 	test 3 = $(git ls-files | wc -l)
 '

base-commit: d181b9354cf85b44455ce3ca9e6af0b9559e0ae2
-- 
gitgitgadget

```
