diff options
author | Jeff King <peff@peff.net> | 2013-09-08 13:01:31 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-09-09 22:14:37 +0400 |
commit | 05e95155a10fab3d3c495076e51b2ce79fa26cf3 (patch) | |
tree | e1d0db6d0b9957ed5325488d06d24b96bd9d87dc /Documentation | |
parent | edca4152560522a431a51fc0a06147fc680b5b18 (diff) |
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 'Documentation')
-rw-r--r-- | Documentation/config.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 6e53fc5074..432c38c3f2 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -2164,6 +2164,17 @@ uploadpack.allowtipsha1inwant:: of a hidden ref (by default, such a request is rejected). see also `uploadpack.hiderefs`. +uploadpack.keepalive:: + When `upload-pack` has started `pack-objects`, there may be a + quiet period while `pack-objects` prepares the pack. Normally + it would output progress information, but if `--quiet` was used + for the fetch, `pack-objects` will output nothing at all until + the pack data begins. Some clients and networks may consider + the server to be hung and give up. Setting this option instructs + `upload-pack` to send an empty keepalive packet every + `uploadpack.keepalive` seconds. Setting this option to 0 + disables keepalive packets entirely. The default is 0. + url.<base>.insteadOf:: Any URL that starts with this value will be rewritten to start, instead, with <base>. In cases where some site serves a |