]> git.ipfire.org Git - thirdparty/git.git/commitdiff
repack-midx: factor out `repack_prepare_midx_command()`
authorTaylor Blau <me@ttaylorr.com>
Tue, 19 May 2026 15:58:03 +0000 (11:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 May 2026 02:31:14 +0000 (11:31 +0900)
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>
repack-midx.c

index 0682b80c4278d4071eac94f2adda714ce531b6c2..5634dc186d0cadce761cf3b7c940a1c1e070e443 100644 (file)
@@ -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",