diff options
author | Jonathan Tan <jonathantanmy@google.com> | 2018-07-16 21:44:01 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-07-17 00:51:12 +0300 |
commit | 42cc7485a2ec49ecc440c921d2eb0cae4da80549 (patch) | |
tree | 576a4ddf4327faf750dd9017fb2cf70c21ae8bda /Documentation | |
parent | ec06283844a90c3e9440286401e9ad7d86daa5ae (diff) |
negotiator/skipping: skip commits during fetch
Introduce a new negotiation algorithm used during fetch that skips
commits in an effort to find common ancestors faster. The skips grow
similarly to the Fibonacci sequence as the commit walk proceeds further
away from the tips. The skips may cause unnecessary commits to be
included in the packfile, but the negotiation step typically ends more
quickly.
Usage of this algorithm is guarded behind the configuration flag
fetch.negotiationAlgorithm.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index ab641bf5a9..53443fb9db 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1491,6 +1491,15 @@ fetch.output:: `full` and `compact`. Default value is `full`. See section OUTPUT in linkgit:git-fetch[1] for detail. +fetch.negotiationAlgorithm:: + Control how information about the commits in the local repository is + sent when negotiating the contents of the packfile to be sent by the + server. Set to "skipping" to use an algorithm that skips commits in an + effort to converge faster, but may result in a larger-than-necessary + packfile; any other value instructs Git to use the default algorithm + that never skips commits (unless the server has acknowledged it or one + of its descendants). + format.attach:: Enable multipart/mixed attachments as the default for 'format-patch'. The value can also be a double quoted string |