[GSoC][PATCH v4 4/9] builtin/pack-refs: convert to use the generic refs_optimize() API
- From
Meet Soni <meetsoni3017@gmail.com>
- Date
- Sep 19, 2025, 08:26 UTC
- Message-ID
- <20250919082647.535213-5-meetsoni3017@gmail.com>
- In-Reply-To
- <20250919082647.535213-1-meetsoni3017@gmail.com>
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> --- builtin/pack-refs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c index 5e28d0f9e8..dfcf664524 100644 --- a/builtin/pack-refs.c +++ b/builtin/pack-refs.c @@ -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);
-- 2.34.1