# [PATCH 0/2] t/pack-refs-tests: fix helper usage

4 messages from 2026-03-22 to 2026-03-22. Participants: Jayesh Daga via GitGitGadget, jayesh0104 via GitGitGadget, K Jayatheerth.
Thread: https://gitlist.dev/t/65332

## Jayesh Daga via GitGitGadget, 2026-03-22 12:46

Subject: [PATCH 0/2] t/pack-refs-tests: fix helper usage
Message-ID: <pull.2247.git.git.1774183586.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.2247.git.git.1774183586.gitgitgadget%40gmail.com

```

High-level (Intent & Context)
=============================

The test script t/pack-refs-tests.sh has two issues that prevent it from
running correctly.

It uses: ! test -f .git/refs/heads/f

This is inconsistent with the Git test framework, where helper functions
such as test_path_is_missing should be used instead of raw test checks.


Low-level (Implementation & Justification)
==========================================

Without sourcing test-lib.sh, the test framework is not initialized, leading
to errors such as: test_expect_success: not found

 * Replaced raw file check with the appropriate helper:

- ! test -f .git/refs/heads/f
+ test_path_is_missing .git/refs/heads/f


Summary

 * Replace test -f with test_path_is_missing

jayesh0104 (2):
  t/pack-refs-tests: drop '-f' from test_path_is_missing
  t/pack-refs-tests: drop '-f' from test_path_is_missing

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


base-commit: 6e8d538aab8fe4dd07ba9fb87b5c7edcfa5706ad
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2247%2Fjayesh0104%2Ffix-pack-refs-test-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2247/jayesh0104/fix-pack-refs-test-v1
Pull-Request: https://github.com/git/git/pull/2247
-- 
gitgitgadget

```

## jayesh0104 via GitGitGadget, 2026-03-22 12:46

Subject: [PATCH 1/2] t/pack-refs-tests: drop '-f' from test_path_is_missing
Message-ID: <d9fff1ad4effb57fc0c814bee7b33c84ee40f7ca.1774183586.git.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/d9fff1ad4effb57fc0c814bee7b33c84ee40f7ca.1774183586.git.gitgitgadget%40gmail.com
In-Reply-To: <pull.2247.git.git.1774183586.gitgitgadget@gmail.com>

```
From: jayesh0104 <jayeshdaga99@gmail.com>

test_path_is_missing expects exactly one argument: the path to
check for absence. Passing '-f' is incorrect and results in
"bug in the test script: 1 param" during test execution.

The '-f' flag appears to have been carried over from the
equivalent 'test -f' usage, but test_path_is_missing does not
accept such flags.

Remove the extraneous '-f' to use the helper correctly and
restore proper test behavior.

Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com>
---
 t/pack-refs-tests.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 t/pack-refs-tests.sh

diff --git a/t/pack-refs-tests.sh b/t/pack-refs-tests.sh
old mode 100644
new mode 100755
index 2fdaccb6c7..8a0c955647
--- a/t/pack-refs-tests.sh
+++ b/t/pack-refs-tests.sh
@@ -1,3 +1,9 @@
+#!/bin/sh
+
+test_description='test pack-refs'
+
+. ./test-lib.sh
+
 pack_refs=${pack_refs:-pack-refs}
 
 test_expect_success 'enable reflogs' '
@@ -61,7 +67,7 @@ test_expect_success 'see if a branch still exists after git ${pack_refs} --prune
 test_expect_success 'see if git ${pack_refs} --prune remove ref files' '
 	git branch f &&
 	git ${pack_refs} --all --prune &&
-	! test -f .git/refs/heads/f
+	test_path_is_missing .git/refs/heads/f
 '
 
 test_expect_success 'see if git ${pack_refs} --prune removes empty dirs' '
-- 
gitgitgadget


```

## jayesh0104 via GitGitGadget, 2026-03-22 12:46

Subject: [PATCH 2/2] t/pack-refs-tests: drop '-f' from test_path_is_missing
Message-ID: <6f71fb3e9a39d8cec62bbbc83e53543be40feef1.1774183586.git.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/6f71fb3e9a39d8cec62bbbc83e53543be40feef1.1774183586.git.gitgitgadget%40gmail.com
In-Reply-To: <pull.2247.git.git.1774183586.gitgitgadget@gmail.com>

```
From: jayesh0104 <jayeshdaga99@gmail.com>

test_path_is_missing expects exactly one argument: the path to
check for absence. Passing '-f' is incorrect and results in
"bug in the test script: 1 param" during test execution.

The '-f' flag appears to have been carried over from the
equivalent 'test -f' usage, but test_path_is_missing does not
accept such flags.

Remove the extraneous '-f' to use the helper correctly and
restore proper test behavior.

Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com>
---
 t/pack-refs-tests.sh | 6 ------
 1 file changed, 6 deletions(-)
 mode change 100755 => 100644 t/pack-refs-tests.sh

diff --git a/t/pack-refs-tests.sh b/t/pack-refs-tests.sh
old mode 100755
new mode 100644
index 8a0c955647..4a85d96c6b
--- a/t/pack-refs-tests.sh
+++ b/t/pack-refs-tests.sh
@@ -1,9 +1,3 @@
-#!/bin/sh
-
-test_description='test pack-refs'
-
-. ./test-lib.sh
-
 pack_refs=${pack_refs:-pack-refs}
 
 test_expect_success 'enable reflogs' '
-- 
gitgitgadget

```

## K Jayatheerth, 2026-03-22 13:29

Subject: Re: [PATCH 2/2] t/pack-refs-tests: drop '-f' from test_path_is_missing
Message-ID: <CA+rGoLd71J31P98_4jC94Zo+oN6qk2ZX65wnOHU=xPwthhWpqQ@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BrGoLd71J31P98_4jC94Zo%2BoN6qk2ZX65wnOHU%3DxPwthhWpqQ%40mail.gmail.com
In-Reply-To: <6f71fb3e9a39d8cec62bbbc83e53543be40feef1.1774183586.git.gitgitgadget@gmail.com>

```
Hi Jayesh,
Thanks for the patch

It is a textbook micro project ;)
But I could find a few flaws in it.


> test_path_is_missing expects exactly one argument: the path to
> --- a/t/pack-refs-tests.sh
> +++ b/t/pack-refs-tests.sh
> @@ -1,9 +1,3 @@
> -#!/bin/sh
> -
> -test_description='test pack-refs'
> -
> -. ./test-lib.sh
> -
>  pack_refs=${pack_refs:-pack-refs}
>
>  test_expect_success 'enable reflogs' '
> --
> gitgitgadget


Patch 2 removes exactly what Patch 1 adds.
You'll have to use rebase -i
i.e interactive rebase
and change em.

Here are some docs [1]

Regards,
- Jayatheerth


1 - https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

```
