diff options
author | Taylor Blau <me@ttaylorr.com> | 2022-10-24 18:43:03 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-10-24 20:39:42 (GMT) |
commit | 4e7b65ba8e7b4174c4ab249b64c6cb3ad0009732 (patch) | |
tree | 5326ce8e0c7692d1aa69cd2a47dd25826f735f5a /builtin/repack.c | |
parent | 1fc3c0ad407008c2f71dd9ae1241d8b75f8ef886 (diff) | |
download | git-4e7b65ba8e7b4174c4ab249b64c6cb3ad0009732.zip git-4e7b65ba8e7b4174c4ab249b64c6cb3ad0009732.tar.gz git-4e7b65ba8e7b4174c4ab249b64c6cb3ad0009732.tar.bz2 |
builtin/repack.c: pass "out" to `prepare_pack_objects`
`builtin/repack.c`'s `prepare_pack_objects()` is used to prepare a set
of arguments to a `pack-objects` process which will generate a desired
pack.
A future patch will add an `--expire-to` option which allows `git
repack` to write a cruft pack containing the pruned objects out to a
separate repository. Prepare for this by teaching that function to write
packs to an arbitrary location specified by the caller.
All existing callers of `prepare_pack_objects()` will pass `packtmp` for
`out`, retaining the existing behavior.
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/repack.c')
-rw-r--r-- | builtin/repack.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/builtin/repack.c b/builtin/repack.c index a5bacc7..0a7bd57 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -188,7 +188,8 @@ static void remove_redundant_pack(const char *dir_name, const char *base_name) } static void prepare_pack_objects(struct child_process *cmd, - const struct pack_objects_args *args) + const struct pack_objects_args *args, + const char *out) { strvec_push(&cmd->args, "pack-objects"); if (args->window) @@ -211,7 +212,7 @@ static void prepare_pack_objects(struct child_process *cmd, strvec_push(&cmd->args, "--quiet"); if (delta_base_offset) strvec_push(&cmd->args, "--delta-base-offset"); - strvec_push(&cmd->args, packtmp); + strvec_push(&cmd->args, out); cmd->git_cmd = 1; cmd->out = -1; } @@ -275,7 +276,7 @@ static void repack_promisor_objects(const struct pack_objects_args *args, FILE *out; struct strbuf line = STRBUF_INIT; - prepare_pack_objects(&cmd, args); + prepare_pack_objects(&cmd, args, packtmp); cmd.in = -1; /* @@ -673,7 +674,7 @@ static int write_cruft_pack(const struct pack_objects_args *args, FILE *in, *out; int ret; - prepare_pack_objects(&cmd, args); + prepare_pack_objects(&cmd, args, packtmp); strvec_push(&cmd.args, "--cruft"); if (cruft_expiration) @@ -861,7 +862,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix) sigchain_push_common(remove_pack_on_signal); - prepare_pack_objects(&cmd, &po_args); + prepare_pack_objects(&cmd, &po_args, packtmp); show_progress = !po_args.quiet && isatty(2); |