summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJonathan Tan <jonathantanmy@google.com>2018-07-16 18:44:01 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-07-16 21:51:12 (GMT)
commit42cc7485a2ec49ecc440c921d2eb0cae4da80549 (patch)
tree576a4ddf4327faf750dd9017fb2cf70c21ae8bda /Makefile
parentec06283844a90c3e9440286401e9ad7d86daa5ae (diff)
downloadgit-42cc7485a2ec49ecc440c921d2eb0cae4da80549.zip
git-42cc7485a2ec49ecc440c921d2eb0cae4da80549.tar.gz
git-42cc7485a2ec49ecc440c921d2eb0cae4da80549.tar.bz2
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 'Makefile')
-rw-r--r--Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 96f84d1..6174756 100644
--- a/Makefile
+++ b/Makefile
@@ -893,6 +893,7 @@ LIB_OBJS += merge-recursive.o
LIB_OBJS += mergesort.o
LIB_OBJS += name-hash.o
LIB_OBJS += negotiator/default.o
+LIB_OBJS += negotiator/skipping.o
LIB_OBJS += notes.o
LIB_OBJS += notes-cache.o
LIB_OBJS += notes-merge.o