summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0b624b4)
raw | patch | inline | side by side (parent: 0b624b4)
author | Nicolas Pitre <nico@fluxnic.net> | |
Mon, 23 Nov 2009 17:43:50 +0000 (12:43 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 24 Nov 2009 05:33:09 +0000 (21:33 -0800) |
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>
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>
Documentation/git-pack-objects.txt | patch | blob | history | |
builtin-pack-objects.c | patch | blob | history | |
builtin-send-pack.c | patch | blob | history | |
bundle.c | patch | blob | history |
index 2e4992970e84a1789cb97d35969976d12e5a30e1..f54d433d36b50184bd83f217c310935d1bbb541f 100644 (file)
SYNOPSIS
--------
[verse]
-'git pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
- [--local] [--incremental] [--window=N] [--depth=N] [--all-progress]
+'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]
+ [--no-reuse-delta] [--delta-base-offset] [--non-empty]
+ [--local] [--incremental] [--window=N] [--depth=N]
[--revs [--unpacked | --all]*] [--stdout | base-name]
[--keep-true-parents] < object-list
--all-progress::
When --stdout is specified then progress report is
- displayed during the object count and deltification phases
+ displayed during the object count and compression phases
but inhibited during the write-out phase. The reason is
that in some cases the output stream is directly linked
to another command which may wish to display progress
report for the write-out phase as well even if --stdout is
used.
+--all-progress-implied::
+ This is used to imply --all-progress whenever progress display
+ is activated. Unlike --all-progress this flag doesn't actually
+ force any progress display by itself.
+
-q::
This flag makes the command not to report its progress
on the standard error stream.
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index 02f9246cdb29903e9d7aafe47604f6882a3e7f86..7938202170c1d6110a798da8d58f64ba0c4b4f70 100644 (file)
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
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"
{
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;
progress = 2;
continue;
}
+ if (!strcmp("--all-progress-implied", arg)) {
+ all_progress_implied = 1;
+ continue;
+ }
if (!strcmp("-q", arg)) {
progress = 0;
continue;
delta_search_threads = online_cpus();
#endif
+ if (progress && all_progress_implied)
+ progress = 2;
+
prepare_packed_git();
if (progress)
diff --git a/builtin-send-pack.c b/builtin-send-pack.c
index 37e528e28364fbde5a5ba31316aa7bf66d43586b..2c4eaae684065df70a435c212ebe3848aa0d9444 100644 (file)
--- a/builtin-send-pack.c
+++ b/builtin-send-pack.c
*/
const char *argv[] = {
"pack-objects",
- "--all-progress",
+ "--all-progress-implied",
"--revs",
"--stdout",
NULL,
diff --git a/bundle.c b/bundle.c
index df95e151e2e82b48e4f15f2180838bf2d178f923..717a712e9a6c125a684cd4ee39ce5cbfaecef91d 100644 (file)
--- a/bundle.c
+++ b/bundle.c
/* write pack */
argv_pack[0] = "pack-objects";
- argv_pack[1] = "--all-progress";
+ argv_pack[1] = "--all-progress-implied";
argv_pack[2] = "--stdout";
argv_pack[3] = "--thin";
argv_pack[4] = NULL;