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>
Jeff King committed
Jul 15, 2016 at 06:35 UTC
d06303bb9a6c3791ff67078b480a86cfd9b691ea
1 file changed
+2
builtin/receive-pack.c
+2
@@ -1547,6 +1547,8 @@ static const char *unpack(int err_fd, struct shallow_info *si)
1547
(uintmax_t)getpid(),
1548
hostname);
1549
1550
+ if (!quiet && err_fd)
1551
+ argv_array_push(&child.args, "--show-resolving-progress");
1552
if (fsck_objects)
1553
argv_array_pushf(&child.args, "--strict%s",
1554
fsck_msg_types.buf);