summaryrefslogtreecommitdiff
path: root/shell.c
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2013-09-08 05:01:31 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-09-09 11:14:37 -0700
commit05e95155a10fab3d3c495076e51b2ce79fa26cf3 (patch)
treee1d0db6d0b9957ed5325488d06d24b96bd9d87dc /shell.c
parentGit 1.8.3 (diff)
downloadtgif-05e95155a10fab3d3c495076e51b2ce79fa26cf3.tar.xz
upload-pack: send keepalive packets during pack computation
When upload-pack has started pack-objects, there may be a quiet period while pack-objects prepares the pack (i.e., counting objects and delta compression). Normally we would see (and send to the client) progress information, but if "--quiet" is in effect, pack-objects will produce nothing at all until the pack data is ready. On a large repository, this can take tens of seconds (or even minutes if the system is loaded or the repository is badly packed). Clients or intermediate proxies can sometimes give up in this situation, assuming that the server or connection has hung. This patch introduces a "keepalive" option; if upload-pack sees no data from pack-objects for a certain number of seconds, it will send an empty sideband data packet to let the other side know that we are still working on it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'shell.c')
0 files changed, 0 insertions, 0 deletions