summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2012-05-01 04:41:42 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-05-01 09:40:28 -0700
commit8d32e60dbe5185ffdb20bd805b3936ebbcde463a (patch)
treedeaa6ba8c14ef337d2d3a2c068ec71e20e752ba4 /builtin
parentpush/fetch/clone --no-progress suppresses progress output (diff)
downloadtgif-8d32e60dbe5185ffdb20bd805b3936ebbcde463a.tar.xz
send-pack: show progress when isatty(2)
The send_pack_args struct has two verbosity flags: "quiet" and "progress". Originally, if "quiet" was set, we would tell pack-objects explicitly to be quiet, and if "progress" was set, we would tell it to show progress. Otherwise, we told it neither, and it relied on isatty(2) to make the decision itself. However, commit 01fdc21 changed the meaning of these variables. Now both "quiet" and "!progress" instruct us to tell pack-objects to be quiet (and a non-zero "progress" means the same as before). This works well for transports which call send_pack directly, as the transport code copies transport->progress into send_pack_args->progress, and they both have the same meaning. However, the code path of calling "git send-pack" was left behind. It always sets "progress" to 0, and thus always tells pack-objects to be quiet. We can work around this by checking isatty(2) ourselves in the cmd_send_pack code path, restoring the original behavior of the send-pack command. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/send-pack.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 9df341c793..7d22715630 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -492,6 +492,9 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
}
}
+ if (!args.quiet)
+ args.progress = isatty(2);
+
if (args.stateless_rpc) {
conn = NULL;
fd[0] = 0;