Browse Source

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>
maint
Jeff King 8 years ago committed by Junio C Hamano
parent
commit
d06303bb9a
  1. 2
      builtin/receive-pack.c

2
builtin/receive-pack.c

@ -1547,6 +1547,8 @@ static const char *unpack(int err_fd, struct shallow_info *si) @@ -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);

Loading…
Cancel
Save