repack: accept --threads=<n> and pass it down to pack-objects

We already do so for --window=<n> and --depth=<n>; this will help
when the user wants to force --threads=1 for reproducible testing
without getting affected by racing multiple threads.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2017-04-27 08:09:25 +09:00
parent 49800c9407
commit 40bcf3188a
2 changed files with 9 additions and 1 deletions

View File

@ -9,7 +9,7 @@ git-repack - Pack unpacked objects in a repository
SYNOPSIS SYNOPSIS
-------- --------
[verse] [verse]
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] 'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>]
DESCRIPTION DESCRIPTION
----------- -----------
@ -92,6 +92,9 @@ other objects in that pack they already have locally.
to be applied that many times to get to the necessary object. to be applied that many times to get to the necessary object.
The default value for --window is 10 and --depth is 50. The default value for --window is 10 and --depth is 50.
--threads=<n>::
This option is passed through to `git pack-objects`.
--window-memory=<n>:: --window-memory=<n>::
This option provides an additional limit on top of `--window`; This option provides an additional limit on top of `--window`;
the window size will dynamically scale down so as to not take the window size will dynamically scale down so as to not take

View File

@ -155,6 +155,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
int keep_unreachable = 0; int keep_unreachable = 0;
const char *window = NULL, *window_memory = NULL; const char *window = NULL, *window_memory = NULL;
const char *depth = NULL; const char *depth = NULL;
const char *threads = NULL;
const char *max_pack_size = NULL; const char *max_pack_size = NULL;
int no_reuse_delta = 0, no_reuse_object = 0; int no_reuse_delta = 0, no_reuse_object = 0;
int no_update_server_info = 0; int no_update_server_info = 0;
@ -190,6 +191,8 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
N_("same as the above, but limit memory size instead of entries count")), N_("same as the above, but limit memory size instead of entries count")),
OPT_STRING(0, "depth", &depth, N_("n"), OPT_STRING(0, "depth", &depth, N_("n"),
N_("limits the maximum delta depth")), N_("limits the maximum delta depth")),
OPT_STRING(0, "threads", &threads, N_("n"),
N_("limits the maximum number of threads")),
OPT_STRING(0, "max-pack-size", &max_pack_size, N_("bytes"), OPT_STRING(0, "max-pack-size", &max_pack_size, N_("bytes"),
N_("maximum size of each packfile")), N_("maximum size of each packfile")),
OPT_BOOL(0, "pack-kept-objects", &pack_kept_objects, OPT_BOOL(0, "pack-kept-objects", &pack_kept_objects,
@ -234,6 +237,8 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
argv_array_pushf(&cmd.args, "--window-memory=%s", window_memory); argv_array_pushf(&cmd.args, "--window-memory=%s", window_memory);
if (depth) if (depth)
argv_array_pushf(&cmd.args, "--depth=%s", depth); argv_array_pushf(&cmd.args, "--depth=%s", depth);
if (threads)
argv_array_pushf(&cmd.args, "--threads=%s", threads);
if (max_pack_size) if (max_pack_size)
argv_array_pushf(&cmd.args, "--max-pack-size=%s", max_pack_size); argv_array_pushf(&cmd.args, "--max-pack-size=%s", max_pack_size);
if (no_reuse_delta) if (no_reuse_delta)