diff options
author | Nicolas Pitre <nico@fluxnic.net> | 2009-11-23 12:43:50 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-11-23 21:33:09 -0800 |
commit | 4f366275189c06ec26c01ee5ace2f3831b2aa46a (patch) | |
tree | 7e31f673ec8a7a490628aa19860e9a4d51b1e30c /builtin-pack-objects.c | |
parent | 0b624b4ceee63ce45135cdbb80f2807c20b48646 (diff) | |
download | git-4f366275189c06ec26c01ee5ace2f3831b2aa46a.tar.gz |
pack-objects: split implications of --all-progress from progress activation
Currently the --all-progress flag is used to use force progress display
during the writing object phase even if output goes to stdout which is
primarily the case during a push operation. This has the unfortunate
side effect of forcing progress display even if stderr is not a
terminal.
Let's introduce the --all-progress-implied argument which has the same
intent except for actually forcing the activation of any progress
display. With this, progress display will be automatically inhibited
whenever stderr is not a terminal, or full progress display will be
included otherwise. This should let people use 'git push' within a cron
job without filling their logs with useless percentage displays.
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Tested-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-pack-objects.c')
-rw-r--r-- | builtin-pack-objects.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index 02f9246cdb..7938202170 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -24,6 +24,7 @@ static const char pack_usage[] = "git pack-objects [{ -q | --progress | --all-progress }]\n" + " [--all-progress-implied]\n" " [--max-pack-size=N] [--local] [--incremental]\n" " [--window=N] [--window-memory=N] [--depth=N]\n" " [--no-reuse-delta] [--no-reuse-object] [--delta-base-offset]\n" @@ -2122,6 +2123,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) { int use_internal_rev_list = 0; int thin = 0; + int all_progress_implied = 0; uint32_t i; const char **rp_av; int rp_ac_alloc = 64; @@ -2221,6 +2223,10 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) progress = 2; continue; } + if (!strcmp("--all-progress-implied", arg)) { + all_progress_implied = 1; + continue; + } if (!strcmp("-q", arg)) { progress = 0; continue; @@ -2329,6 +2335,9 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) delta_search_threads = online_cpus(); #endif + if (progress && all_progress_implied) + progress = 2; + prepare_packed_git(); if (progress) |