# [PATCH] t0081: modernize the code testing whether a file exists

9 messages from 2026-10-14 to 2026-10-23. Participants: Shashank S via GitGitGadget, Usman Akinyemi, Junio C Hamano, Shashank S, Kaartic Sivaraam.
Thread: https://gitlist.dev/t/66528

## Shashank S via GitGitGadget, 2026-10-14 07:26

Subject: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <pull.2254.git.1791962806807.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2254.git.1791962806807.gitgitgadget%40gmail.com

```
From: Shashank <shashu8660@gmail.com>

Replace the old-style shell `test -f` command with Git's modern
`test_path_is_file`.

This instance was found using:
`git grep "test -[efd]" t/'

Signed-off-by: Shashank <shashu8660@gmail.com>
---
    [outreachy] t0081: Replace the old style 'test -f' to new
    'test_path_is_file'

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2254%2Fshashu8660%2Fupdate-t0081-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2254/shashu8660/update-t0081-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2254

 t/t0081-find-pack.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t0081-find-pack.sh b/t/t0081-find-pack.sh
index ff9d56fbf1..7d5082c487 100755
--- a/t/t0081-find-pack.sh
+++ b/t/t0081-find-pack.sh
@@ -32,7 +32,7 @@ test_expect_success 'repack everything into a single packfile' '
 		".git/objects/pack/pack-"*".pack") true ;;
 		*) false ;;
 	esac &&
-	test -f "$head_commit_pack" &&
+	test_path_is_file "$head_commit_pack" &&
 
 	# Everything is in the same pack
 	test "$head_commit_pack" = "$head_tree_pack" &&

base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd
-- 
gitgitgadget


```

## Usman Akinyemi, 2026-10-14 09:49

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <CAPSxiM9-F-1XKvWeEnBk=_FyKyev5pfnid4fiN-OjLYLnCTWVw@mail.gmail.com>
URL: https://gitlist.dev/e/CAPSxiM9-F-1XKvWeEnBk%3D_FyKyev5pfnid4fiN-OjLYLnCTWVw%40mail.gmail.com
In-Reply-To: <pull.2254.git.1791962806807.gitgitgadget@gmail.com>

```
> From: Shashank <shashu8660@gmail.com>
>
> Replace the old-style shell `test -f` command with Git's modern
> `test_path_is_file`.
>
> This instance was found using:
> `git grep "test -[efd]" t/'
This is not necessary, remove it.
>
> Signed-off-by: Shashank <shashu8660@gmail.com>
> ---
>     [outreachy] t0081: Replace the old style 'test -f' to new
>     'test_path_is_file'
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2254%2Fshashu8660%2Fupdate-t0081-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2254/shashu8660/update-t0081-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/2254
>
>  t/t0081-find-pack.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/t0081-find-pack.sh b/t/t0081-find-pack.sh
> index ff9d56fbf1..7d5082c487 100755
> --- a/t/t0081-find-pack.sh
> +++ b/t/t0081-find-pack.sh
> @@ -32,7 +32,7 @@ test_expect_success 'repack everything into a single packfile' '
>                 ".git/objects/pack/pack-"*".pack") true ;;
>                 *) false ;;
>         esac &&
> -       test -f "$head_commit_pack" &&
> +       test_path_is_file "$head_commit_pack" &&
looks good to me.
>
>         # Everything is in the same pack
>         test "$head_commit_pack" = "$head_tree_pack" &&
>
> base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd
> --
> gitgitgadget
Thanks.


```

## Junio C Hamano, 2026-10-14 21:47

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <xmqqzewgosyw.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqzewgosyw.fsf%40gitster.g
In-Reply-To: <CAPSxiM9-F-1XKvWeEnBk=_FyKyev5pfnid4fiN-OjLYLnCTWVw@mail.gmail.com>

```
Usman Akinyemi <usmanakinyemi202@gmail.com> writes:

>> From: Shashank <shashu8660@gmail.com>
>>
>> Replace the old-style shell `test -f` command with Git's modern
>> `test_path_is_file`.
>>
>> This instance was found using:
>> `git grep "test -[efd]" t/'
> This is not necessary, remove it.

Since many candidates are working on similar microprojects (which is
fine) and making the same mistakes (which is expected), perhaps mentors
should tell them to read the review exchanges on other candidates'
patches and learn from them, instead of or in addition to giving the
same advice repeatedly.


```

## Shashank S, 2026-10-15 06:51

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <CANHmUQQcn8fX70NFMicOZUHTr1sYU44Avc8KER32TX1aK+rrfg@mail.gmail.com>
URL: https://gitlist.dev/e/CANHmUQQcn8fX70NFMicOZUHTr1sYU44Avc8KER32TX1aK%2Brrfg%40mail.gmail.com
In-Reply-To: <CAPSxiM9-F-1XKvWeEnBk=_FyKyev5pfnid4fiN-OjLYLnCTWVw@mail.gmail.com>

```
On Wed, 14 Oct 2026 at 15:19, Usman Akinyemi <usmanakinyemi202@gmail.com> wrote:
>
> > From: Shashank <shashu8660@gmail.com>
> >
> > Replace the old-style shell `test -f` command with Git's modern
> > `test_path_is_file`.
> >
> > This instance was found using:
> > `git grep "test -[efd]" t/'
> This is not necessary, remove it.

thank you for the review , i will remove it and i will submit patch v2


```

## Shashank S, 2026-10-15 07:02

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <CANHmUQR7TJ7VQJVnxMpJ3KNL5DLoMcJFR_jcg_64Vn31EVgJLQ@mail.gmail.com>
URL: https://gitlist.dev/e/CANHmUQR7TJ7VQJVnxMpJ3KNL5DLoMcJFR_jcg_64Vn31EVgJLQ%40mail.gmail.com
In-Reply-To: <xmqqzewgosyw.fsf@gitster.g>

```
On Thu, 15 Oct 2026 at 03:17, Junio C Hamano <gitster@pobox.com> wrote:
>
> Usman Akinyemi <usmanakinyemi202@gmail.com> writes:
>
> >> From: Shashank <shashu8660@gmail.com>

> Since many candidates are working on similar microprojects (which is
> fine) and making the same mistakes (which is expected), perhaps mentors
> should tell them to read the review exchanges on other candidates'
> patches and learn from them, instead of or in addition to giving the
> same advice repeatedly.

thank you for the explanation and the review , from now on i will go
through the other candidates patches and look in to them and  mentor
reviews in them and learn from that


```

## Shashank S via GitGitGadget, 2026-10-15 10:47

Subject: [PATCH v2] [Outreachy] t0081: modernize the code testing whether a file exists
Message-ID: <pull.2254.v2.git.1792061236183.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2254.v2.git.1792061236183.gitgitgadget%40gmail.com
In-Reply-To: <pull.2254.git.1791962806807.gitgitgadget@gmail.com>

```
From: Shashank <shashu8660@gmail.com>

Replace the old-style shell `test -f` command with Git's modern
`test_path_is_file`.

Signed-off-by: Shashank <shashu8660@gmail.com>
---
    [outreachy] t0081: Replace the old style 'test -f' to new
    'test_path_is_file'

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2254%2Fshashu8660%2Fupdate-t0081-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2254/shashu8660/update-t0081-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2254

Range-diff vs v1:

 1:  906c628765 ! 1:  d4807f2751 t0081: modernize the code testing whether a file exists
     @@ Metadata
      Author: Shashank <shashu8660@gmail.com>
      
       ## Commit message ##
     -    t0081: modernize the code testing whether a file exists
     +    [Outreachy] t0081: modernize the code testing whether a file exists
      
          Replace the old-style shell `test -f` command with Git's modern
          `test_path_is_file`.
      
     -    This instance was found using:
     -    `git grep "test -[efd]" t/'
     -
          Signed-off-by: Shashank <shashu8660@gmail.com>
      
       ## t/t0081-find-pack.sh ##


 t/t0081-find-pack.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t0081-find-pack.sh b/t/t0081-find-pack.sh
index ff9d56fbf1..7d5082c487 100755
--- a/t/t0081-find-pack.sh
+++ b/t/t0081-find-pack.sh
@@ -32,7 +32,7 @@ test_expect_success 'repack everything into a single packfile' '
 		".git/objects/pack/pack-"*".pack") true ;;
 		*) false ;;
 	esac &&
-	test -f "$head_commit_pack" &&
+	test_path_is_file "$head_commit_pack" &&
 
 	# Everything is in the same pack
 	test "$head_commit_pack" = "$head_tree_pack" &&

base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd
-- 
gitgitgadget


```

## Kaartic Sivaraam, 2026-10-15 11:43

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <9c905a79-22a2-4db2-b434-00ad8a287300@gmail.com>
URL: https://gitlist.dev/e/9c905a79-22a2-4db2-b434-00ad8a287300%40gmail.com
In-Reply-To: <xmqqzewgosyw.fsf@gitster.g>

```


On 10/15/26 03:17, Junio C Hamano wrote:
> Usman Akinyemi <usmanakinyemi202@gmail.com> writes:
> >>> From: Shashank <shashu8660@gmail.com>
>>>
>>> Replace the old-style shell `test -f` command with Git's modern
>>> `test_path_is_file`.
>>>
>>> This instance was found using:
>>> `git grep "test -[efd]" t/'
>> This is not necessary, remove it.
> > Since many candidates are working on similar microprojects (which is
> fine) and making the same mistakes (which is expected), perhaps mentors
> should tell them to read the review exchanges on other candidates'
> patches and learn from them, instead of or in addition to giving the
> same advice repeatedly.

I agree that it is a good advice to ask candidate to read other candidates' patches. We do recommend this in our guide related to working on Microprojects:

 https://git.github.io/General-Microproject-Information/#research-existing-related-work

That said, I just wanted to highlight one thing. In the Microproject ideas page[1], we have the following for this specific idea:

  Notes

  - Start small: Pick a test file with just a few instances to convert
  - Run the test suite after your changes to ensure nothing breaks
  - Follow Git’s commit message style
  - Include which command you used to find the instances in your commit
    message

So, we can't really blame the candidates for including the command in the commit message. It is our mistake asking them to include it in the first place when we don't prefer it to be present there.

I raised a PR to fix that:

  https://github.com/git/git.github.io/pull/875

[1]: https://git.github.io/SoC-2026-Microprojects/

-- 
Sivaraam



```

## Junio C Hamano, 2026-10-15 17:10

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <xmqqzeweopov.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqzeweopov.fsf%40gitster.g
In-Reply-To: <9c905a79-22a2-4db2-b434-00ad8a287300@gmail.com>

```
Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes:

> That said, I just wanted to highlight one thing. In the Microproject 
> ideas page[1], we have the following for this specific idea:
>
>    Notes
>
>    - Start small: Pick a test file with just a few instances to convert
>    - Run the test suite after your changes to ensure nothing breaks
>    - Follow Git’s commit message style
>    - Include which command you used to find the instances in your commit
>      message
>
> So, we can't really blame the candidates for including the command in 
> the commit message. It is our mistake asking them to include it in the 
> first place when we don't prefer it to be present there.
>
> I raised a PR to fix that:
>
>    https://github.com/git/git.github.io/pull/875

I do not think your update is taking us in the right direction,
though.  Recommend to have it under three-dash lines instead,
perhaps?


```

## Kaartic Sivaraam, 2026-10-23 06:56

Subject: Re: [PATCH] t0081: modernize the code testing whether a file exists
Message-ID: <2a050885-a1c2-48d6-b561-3c2ea0a05dbf@gmail.com>
URL: https://gitlist.dev/e/2a050885-a1c2-48d6-b561-3c2ea0a05dbf%40gmail.com
In-Reply-To: <xmqqzeweopov.fsf@gitster.g>

```


On 10/15/26 22:40, Junio C Hamano wrote:
> Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes:
> >> I raised a PR to fix that:
>>
>>     https://github.com/git/git.github.io/pull/875
> > I do not think your update is taking us in the right direction,
> though.  Recommend to have it under three-dash lines instead,
> perhaps?

Got it. Does the following change read better?

diff --git a/links/mentoring/soc/SoC-2026-Microprojects.md b/links/mentoring/soc/SoC-2026-Microprojects.md
index 41354b50..17519e2d 100644
--- a/links/mentoring/soc/SoC-2026-Microprojects.md
+++ b/links/mentoring/soc/SoC-2026-Microprojects.md
@@ -49,8 +49,9 @@ with Git's dedicated test helpers like `test_path_is_file`.
 - Start small: Pick a test file with just a few instances to convert
 - Run the test suite after your changes to ensure nothing breaks
 - Follow Git's commit message style
-- You _do not need to_ include the command you used to find the instances
-  in your commit message
+- You can include the command you used to find the instances in your
+  cover letter or between the three-dash line and the diffstat, whichever
+  is appropriate. Do not mention it in your commit message

 #### Need Help?
 - Reference [this discussion](https://public-inbox.org/git/CAPig+cRfO8t1tdCL6MB4b9XopF3HkZ==hU83AFZ38b-2zsXDjQ@mail.gmail.com/)
-- 
Sivaraam



```
