]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t7900: clean up some more broken refs
authorJeff King <peff@peff.net>
Fri, 24 Sep 2021 18:32:17 +0000 (14:32 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Sep 2021 19:36:44 +0000 (12:36 -0700)
The "incremental-repack task" test replaces the object directory with a
known state. As a result, some of our refs point to objects that are not
included in that state.

Commit 3cf5f221be (t7900: clean up some broken refs, 2021-01-19) cleaned
up some of those (that were causing warnings to stderr from the
maintenance process). But there are a few more that were missed. These
aren't hurting anything for now, but it's certainly an unexpected state
to leave the test repository in, and it will become a problem if repack
ever gets more picky about broken refs.

Let's clean up those additional refs (which are all in refs/remotes,
with nothing there that isn't broken), and add an extra "for-each-ref"
call to assert that we've got everything.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7900-maintenance.sh

index 36a4218745bda747e5d3f3c8252ea1913130318a..31245f627667f9479664091afb63580aef6bb9de 100755 (executable)
@@ -277,7 +277,7 @@ test_expect_success 'incremental-repack task' '
 
        # Delete refs that have not been repacked in these packs.
        git for-each-ref --format="delete %(refname)" \
-               refs/prefetch refs/tags >refs &&
+               refs/prefetch refs/tags refs/remotes >refs &&
        git update-ref --stdin <refs &&
 
        # Replace the object directory with this pack layout.
@@ -286,6 +286,10 @@ test_expect_success 'incremental-repack task' '
        ls $packDir/*.pack >packs-before &&
        test_line_count = 3 packs-before &&
 
+       # make sure we do not have any broken refs that were
+       # missed in the deletion above
+       git for-each-ref &&
+
        # the job repacks the two into a new pack, but does not
        # delete the old ones.
        git maintenance run --task=incremental-repack &&