]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/pack-refs: convert to use the generic refs_optimize() API
authorMeet Soni <meetsoni3017@gmail.com>
Fri, 19 Sep 2025 08:26:42 +0000 (13:56 +0530)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Sep 2025 17:02:55 +0000 (10:02 -0700)
The `git pack-refs` command behaves generically, triggering a pack for
the 'files' backend and a compaction for the 'reftable' backend.
However, the name of the command and its corresponding API is
conceptually tied to the 'files' backend implementation.

To create a cleaner, more generic interface, refactor `git pack-refs` to
use the new `refs_optimize()` API. "Optimize" is a better semantic term
for this generic action.

This change allows `git pack-refs` to act as a backend-agnostic frontend
for reference optimization, and paves the way for the new `git refs
optimize` command to do the same.

Mentored-by: Patrick Steinhardt <ps@pks.im>
Mentored-by: shejialuo <shejialuo@gmail.com>
Signed-off-by: Meet Soni <meetsoni3017@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-refs.c

index 5e28d0f9e80996e619be68ea6c7a0831401ed9c9..dfcf6645244a663b30b321cd7190523c8e628794 100644 (file)
@@ -51,7 +51,7 @@ int cmd_pack_refs(int argc,
        if (!pack_refs_opts.includes->nr)
                string_list_append(pack_refs_opts.includes, "refs/tags/*");
 
-       ret = refs_pack_refs(get_main_ref_store(repo), &pack_refs_opts);
+       ret = refs_optimize(get_main_ref_store(repo), &pack_refs_opts);
 
        clear_ref_exclusions(&excludes);
        string_list_clear(&included_refs, 0);