mirror of
https://github.com/git/git.git
synced 2026-01-11 18:45:28 +00:00
builtin/gc: move rerere garbage collection into separate function
In a subsequent commit we are going to introduce a new "rerere-gc" task for git-maintenance(1). To prepare for this, refactor the code that spawns `git rerere gc` into a separate function. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ec31474656
commit
255251cce1
16
builtin/gc.c
16
builtin/gc.c
@@ -384,6 +384,15 @@ out:
|
||||
return should_prune;
|
||||
}
|
||||
|
||||
static int maintenance_task_rerere_gc(struct maintenance_run_opts *opts UNUSED,
|
||||
struct gc_config *cfg UNUSED)
|
||||
{
|
||||
struct child_process rerere_cmd = CHILD_PROCESS_INIT;
|
||||
rerere_cmd.git_cmd = 1;
|
||||
strvec_pushl(&rerere_cmd.args, "rerere", "gc", NULL);
|
||||
return run_command(&rerere_cmd);
|
||||
}
|
||||
|
||||
static int too_many_loose_objects(struct gc_config *cfg)
|
||||
{
|
||||
/*
|
||||
@@ -785,7 +794,6 @@ int cmd_gc(int argc,
|
||||
int daemonized = 0;
|
||||
int keep_largest_pack = -1;
|
||||
timestamp_t dummy;
|
||||
struct child_process rerere_cmd = CHILD_PROCESS_INIT;
|
||||
struct maintenance_run_opts opts = MAINTENANCE_RUN_OPTS_INIT;
|
||||
struct gc_config cfg = GC_CONFIG_INIT;
|
||||
const char *prune_expire_sentinel = "sentinel";
|
||||
@@ -968,10 +976,8 @@ int cmd_gc(int argc,
|
||||
maintenance_task_worktree_prune(&opts, &cfg))
|
||||
die(FAILED_RUN, "worktree");
|
||||
|
||||
rerere_cmd.git_cmd = 1;
|
||||
strvec_pushl(&rerere_cmd.args, "rerere", "gc", NULL);
|
||||
if (run_command(&rerere_cmd))
|
||||
die(FAILED_RUN, rerere_cmd.args.v[0]);
|
||||
if (maintenance_task_rerere_gc(&opts, &cfg))
|
||||
die(FAILED_RUN, "rerere");
|
||||
|
||||
report_garbage = report_pack_garbage;
|
||||
reprepare_packed_git(the_repository);
|
||||
|
||||
Reference in New Issue
Block a user