path: root/http-pull.c
diff options
mode: <>2005-08-02 23:46:10 (GMT)
committerJunio C Hamano <>2005-08-03 05:53:09 (GMT)
commit1e8be59d14f36128e5eb12cc0457e676bb79690c (patch)
tree3fa313f2f2ce5e0958010d133e5434012d0033f2 /http-pull.c
parent66e481b007e843be54b9ff6a4be6e139c103a695 (diff)
[PATCH] Parallelize the pull algorithm
This processes objects in two simultaneous passes. Each object will first be given to prefetch(), as soon as it is possible to tell that it will be needed, and then will be given to fetch(), when it is the next object that needs to be parsed. Unless an implementation does something with prefetch(), this should have no effect. Signed-off-by: Daniel Barkalow <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'http-pull.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/http-pull.c b/http-pull.c
index bd61955..e70ab39 100644
--- a/http-pull.c
+++ b/http-pull.c
@@ -67,6 +67,10 @@ static size_t fwrite_sha1_file(void *ptr, size_t eltsize, size_t nmemb,
return size;
+void prefetch(unsigned char *sha1)
static int got_indices = 0;
static struct packed_git *packs = NULL;