@@ -167,16 +167,9 @@ static void gc_config(void)
struct maintenance_run_opts;
static int maintenance_task_pack_refs(MAYBE_UNUSED struct maintenance_run_opts *opts)
{
- struct strvec pack_refs_cmd = STRVEC_INIT;
- int ret;
+ const char *argv[] = { "pack-refs", "--all", "--prune", NULL };
- strvec_pushl(&pack_refs_cmd, "pack-refs", "--all", "--prune", NULL);
-
- ret = run_command_v_opt(pack_refs_cmd.v, RUN_GIT_CMD);
-
- strvec_clear(&pack_refs_cmd);
-
- return ret;
+ return run_command_v_opt(argv, RUN_GIT_CMD);
}
static int too_many_loose_objects(void)
Pass a constant string array directly to run_command_v_opt() instead of copying it into a strvec first. This shortens the code and avoids heap allocations. Signed-off-by: René Scharfe <l.s.r@web.de> --- This patch is a bit silly because it doesn't actually fix anything, but I can't resist pointing out the possible code size reduction. And if opts becomes used eventually it's probably easier to use the args member of struct child_process instead of supplying our own strvec. builtin/gc.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) -- 2.37.3