Commit 7b8c9e123d3925f4d7aaa614a591e4188a80d464

Carlos Martín Nieto 2012-07-13T20:46:16

pkt: correctly advertise capabilitites The correct way to advertise out capabilities is by appending them to the first 'want' line, using SP as separator, instead of NUL as the server does. Inconsistent documentation lead to the use of NUL in libgit2. Fix this so we can request much more efficient packs from the remote which reduces the indexing time considerably.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/pkt.c b/src/pkt.c
index 88510f4..e003b97 100644
--- a/src/pkt.c
+++ b/src/pkt.c
@@ -296,7 +296,7 @@ static int buffer_want_with_caps(git_remote_head *head, git_transport_caps *caps
 	git_buf_grow(buf, git_buf_len(buf) + len);
 
 	git_oid_fmt(oid, &head->oid);
-	return git_buf_printf(buf, "%04xwant %s%c%s\n", len, oid, 0, capstr);
+	return git_buf_printf(buf, "%04xwant %s %s\n", len, oid, capstr);
 }
 
 /*