author | Junio C Hamano <gitster@pobox.com> | |
Sun, 27 Mar 2011 03:13:15 +0000 (20:13 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sun, 27 Mar 2011 03:13:15 +0000 (20:13 -0700) |
* jc/fetch-progressive-stride:
fetch-pack: use smaller handshake window for initial request
fetch-pack: progressively use larger handshake windows
fetch-pack: factor out hardcoded handshake window size
Conflicts:
builtin/fetch-pack.c
fetch-pack: use smaller handshake window for initial request
fetch-pack: progressively use larger handshake windows
fetch-pack: factor out hardcoded handshake window size
Conflicts:
builtin/fetch-pack.c
1 | 2 | |||
---|---|---|---|---|
builtin/fetch-pack.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc builtin/fetch-pack.c
index 0ef9a119405160ddacfb7a80a119ff749bb3a4f8,3c2c9406c499102138495638d98797886855c073..bf9990ce15bf582293535606467fb209457bcfe1
+++ b/builtin/fetch-pack.c
safe_write(fd, buf->buf, buf->len);
}
+static void insert_one_alternate_ref(const struct ref *ref, void *unused)
+{
+ rev_list_insert_ref(NULL, ref->old_sha1, 0, NULL);
+}
+
+static void insert_alternate_refs(void)
+{
+ foreach_alt_odb(refs_from_alternate_cb, insert_one_alternate_ref);
+}
+
+ #define INITIAL_FLUSH 16
+ #define LARGE_FLUSH 1024
+
+ static int next_flush(int count)
+ {
+ if (count < INITIAL_FLUSH * 2)
+ count += INITIAL_FLUSH;
+ else if (count < LARGE_FLUSH)
+ count <<= 1;
+ else
+ count += LARGE_FLUSH;
+ return count;
+ }
+
static int find_common(int fd[2], unsigned char *result_sha1,
struct ref *refs)
{