repack-midx: factor out `repack_prepare_midx_command()`
The `write_midx_included_packs()` function assembles and executes a `git multi-pack-index write` command, constructing the argument list inline. Future commits will introduce additional callers that need to construct similar `git multi-pack-index` commands (for both `write` and `compact` subcommands), so extract the common portions of the command setup into a reusable `repack_prepare_midx_command()` helper. The extracted helper sets `git_cmd`, pushes `multi-pack-index` and a subcommand, and handles `--progress`/`--no-progress` and `--bitmap` flags. The remaining arguments that are specific to the `write` subcommand (such as `--stdin-packs`) are left to the caller. No functional changes are included in this patch. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>main
parent
ee6fb58238
commit
1505990d72
|
|
@ -275,6 +275,23 @@ static void remove_redundant_bitmaps(struct string_list *include,
|
|||
strbuf_release(&path);
|
||||
}
|
||||
|
||||
static void repack_prepare_midx_command(struct child_process *cmd,
|
||||
struct repack_write_midx_opts *opts,
|
||||
const char *subcommand)
|
||||
{
|
||||
cmd->git_cmd = 1;
|
||||
|
||||
strvec_pushl(&cmd->args, "multi-pack-index", subcommand, NULL);
|
||||
|
||||
if (opts->show_progress)
|
||||
strvec_push(&cmd->args, "--progress");
|
||||
else
|
||||
strvec_push(&cmd->args, "--no-progress");
|
||||
|
||||
if (opts->write_bitmaps)
|
||||
strvec_push(&cmd->args, "--bitmap");
|
||||
}
|
||||
|
||||
int write_midx_included_packs(struct repack_write_midx_opts *opts)
|
||||
{
|
||||
struct child_process cmd = CHILD_PROCESS_INIT;
|
||||
|
|
@ -289,18 +306,9 @@ int write_midx_included_packs(struct repack_write_midx_opts *opts)
|
|||
goto done;
|
||||
|
||||
cmd.in = -1;
|
||||
cmd.git_cmd = 1;
|
||||
|
||||
strvec_push(&cmd.args, "multi-pack-index");
|
||||
strvec_pushl(&cmd.args, "write", "--stdin-packs", NULL);
|
||||
|
||||
if (opts->show_progress)
|
||||
strvec_push(&cmd.args, "--progress");
|
||||
else
|
||||
strvec_push(&cmd.args, "--no-progress");
|
||||
|
||||
if (opts->write_bitmaps)
|
||||
strvec_push(&cmd.args, "--bitmap");
|
||||
repack_prepare_midx_command(&cmd, opts, "write");
|
||||
strvec_push(&cmd.args, "--stdin-packs");
|
||||
|
||||
if (preferred)
|
||||
strvec_pushf(&cmd.args, "--preferred-pack=%s",
|
||||
|
|
|
|||
Loading…
Reference in New Issue