94e724a741
This moves pack_refs() and underlying functionality into the library, to make pack-refs functionality easily available to all git programs. Most of builtin-pack-refs.c has been moved verbatim into a new file pack-refs.c that is compiled into libgit.a. A corresponding header file, pack-refs.h, has also been added, declaring pack_refs() and the #defines associated with the flags parameter to pack_refs(). This patch introduces no other changes in functionality. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
22 lines
581 B
C
22 lines
581 B
C
#include "cache.h"
|
|
#include "parse-options.h"
|
|
#include "pack-refs.h"
|
|
|
|
static char const * const pack_refs_usage[] = {
|
|
"git-pack-refs [options]",
|
|
NULL
|
|
};
|
|
|
|
int cmd_pack_refs(int argc, const char **argv, const char *prefix)
|
|
{
|
|
unsigned int flags = PACK_REFS_PRUNE;
|
|
struct option opts[] = {
|
|
OPT_BIT(0, "all", &flags, "pack everything", PACK_REFS_ALL),
|
|
OPT_BIT(0, "prune", &flags, "prune loose refs (default)", PACK_REFS_PRUNE),
|
|
OPT_END(),
|
|
};
|
|
if (parse_options(argc, argv, opts, pack_refs_usage, 0))
|
|
usage_with_options(pack_refs_usage, opts);
|
|
return pack_refs(flags);
|
|
}
|