mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
The implementation of `git pack-refs` is monolithic within `cmd_pack_refs()`, making it impossible to share its logic with other commands. To enable code reuse for the upcoming `git refs optimize` subcommand, refactor the core logic into a shared helper function. Split the original `builtin/pack-refs.c` file into two parts: - A new shared library file, `pack-refs.c`, which contains the core option parsing and packing logic in a new `pack_refs_core()` helper function. - The original `builtin/pack-refs.c`, which is now a thin wrapper responsible only for defining the `git pack-refs` command and calling the shared helper. A new `pack-refs.h` header is also introduced to define the public interface for this shared logic. 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>
17 lines
341 B
C
17 lines
341 B
C
#include "builtin.h"
|
|
#include "gettext.h"
|
|
#include "pack-refs.h"
|
|
|
|
int cmd_pack_refs(int argc,
|
|
const char **argv,
|
|
const char *prefix,
|
|
struct repository *repo)
|
|
{
|
|
static char const * const pack_refs_usage[] = {
|
|
N_("git pack-refs " PACK_REFS_OPTS),
|
|
NULL
|
|
};
|
|
|
|
return pack_refs_core(argc, argv, prefix, repo, pack_refs_usage);
|
|
}
|