]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/gc: convert to use `packfile_store_get_all_packs()`
authorPatrick Steinhardt <ps@pks.im>
Thu, 9 Oct 2025 08:01:36 +0000 (10:01 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Oct 2025 21:42:39 +0000 (14:42 -0700)
When running maintenance tasks via git-maintenance(1) we have a couple
of auto-conditions that check whether or not a specific task should be
running. One such check is for incremental repacks, which essentially
use `git multi-pack-index repack` to repack a set of smaller packfiles
into one larger packfile.

The auto-condition for this task checks how many packfiles there are
that aren't indexed by any multi-pack index. If there is a sufficient
number then we execute the above command to combine those into a single
pack and add that pack to the MIDX.

As we don't care about MIDX'd packs we use `packfile_store_get_packs()`,
which knows to not load any packs that are indexed by a MIDX. But as
explained in the preceding commit, we want to get rid of that function.

We already handle packfiles that have a MIDX by the very nature of this
function, as we explicitly count non-MIDX'd packs. As such, we can
trivially switch over to use `packfile_store_get_all_packs()` instead.

Do so.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c

index e19e13d9788076cf05029561a4fdcfea9f1fc095..ab6d6d3bd1b4455059515e21dd841a5a07690e51 100644 (file)
@@ -1425,7 +1425,7 @@ static int incremental_repack_auto_condition(struct gc_config *cfg UNUSED)
        if (incremental_repack_auto_limit < 0)
                return 1;
 
-       for (p = packfile_store_get_packs(the_repository->objects->packfiles);
+       for (p = packfile_store_get_all_packs(the_repository->objects->packfiles);
             count < incremental_repack_auto_limit && p;
             p = p->next) {
                if (!p->multi_pack_index)