t7900: assert the absence of refs via git-for-each-ref(1)

We're asserting that a prefetch of remotes via git-maintenance(1) doesn't write any references in refs/remotes by validating that the directory ".git/refs/remotes" is missing. This is quite roundabout: we don't care about the directory existing, we care about the references not existing, and the way these are stored is on the behest of the reference database. Convert the test to instead check via git-for-each-ref(1) whether any remote reference exist. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Nov 2, 2023 at 09:47 UTC 170ba45acf4db996a58ce849e6901a65c13b94d6
1 file changed +2 -1
t/t7900-maintenance.sh
+2 -1
@@ -157,7 +157,8 @@ test_expect_success 'prefetch multiple remotes' '
157 fetchargs="--prefetch --prune --no-tags --no-write-fetch-head --recurse-submodules=no --quiet" &&
158 test_subcommand git fetch remote1 $fetchargs <run-prefetch.txt &&
159 test_subcommand git fetch remote2 $fetchargs <run-prefetch.txt &&
160 - test_path_is_missing .git/refs/remotes &&
160 + git for-each-ref refs/remotes >actual &&
161 + test_must_be_empty actual &&
162 git log prefetch/remotes/remote1/one &&
163 git log prefetch/remotes/remote2/two &&
164 git fetch --all &&