summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-07-15 10:35:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-07-20 19:11:10 (GMT)
commitd06303bb9a6c3791ff67078b480a86cfd9b691ea (patch)
treed1b99bc83a852725e686b5a004f93157a3d6ccc3
parente376f17fd1a1efd4fe425d023610172bcba3fe97 (diff)
downloadgit-d06303bb9a6c3791ff67078b480a86cfd9b691ea.zip
git-d06303bb9a6c3791ff67078b480a86cfd9b691ea.tar.gz
git-d06303bb9a6c3791ff67078b480a86cfd9b691ea.tar.bz2
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 ce81920..de322bc 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);