summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2016-07-15 06:35:28 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2016-07-20 12:11:10 -0700
commitd06303bb9a6c3791ff67078b480a86cfd9b691ea (patch)
treed1b99bc83a852725e686b5a004f93157a3d6ccc3
parentindex-pack: add flag for showing delta-resolution progress (diff)
downloadtgif-d06303bb9a6c3791ff67078b480a86cfd9b691ea.tar.xz
receive-pack: turn on index-pack resolving progress
When we receive a large push, the server side may have to spend a lot of CPU processing the incoming packfile. During the "receiving" phase, we are typically network bound, and the client is writing its own progress to the user. But during the delta resolution phase, we may spend minutes (e.g., for a full push of linux.git) without making any indication to the user that the connection has not hung. Let's ask index-pack to produce progress output for this phase (unless the client asked us to be quiet, of course). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/receive-pack.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index ce819209a5..de322bc491 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -1547,6 +1547,8 @@ static const char *unpack(int err_fd, struct shallow_info *si)
(uintmax_t)getpid(),
hostname);
+ if (!quiet && err_fd)
+ argv_array_push(&child.args, "--show-resolving-progress");
if (fsck_objects)
argv_array_pushf(&child.args, "--strict%s",
fsck_msg_types.buf);