v2 of this series has the following changes: * Included Jonathan Tan's patch as [1/9] with a small tweak to not rely on hardcoding the side of sha1 into the capability line check. * Reworked some of the logic in daemon.c * Added the word 'Experimental' to protocol.version to indicate that user's shouldn't rely on its semantics to hold until it has been thoroughly tested. Brandon Williams (8): pkt-line: add packet_write function protocol: introduce protocol extention mechanisms daemon: recognize hidden request arguments upload-pack, receive-pack: introduce protocol version 1 connect: teach client to recognize v1 server response connect: tell server that the client understands v1 http: tell server that the client understands v1 i5700: add interop test for protocol transition Jonathan Tan (1): connect: in ref advertisement, shallows are last Documentation/config.txt | 17 ++ Documentation/git.txt | 5 + Makefile | 1 + builtin/receive-pack.c | 14 ++ cache.h | 9 + connect.c | 248 ++++++++++++++++++++-------- daemon.c | 68 +++++++- http.c | 18 ++ pkt-line.c | 6 + pkt-line.h | 1 + protocol.c | 72 ++++++++ protocol.h | 14 ++ t/interop/i5700-protocol-transition.sh | 68 ++++++++ t/lib-httpd/apache.conf | 7 + t/t5700-protocol-v1.sh | 292 +++++++++++++++++++++++++++++++++ upload-pack.c | 17 +- 16 files changed, 776 insertions(+), 81 deletions(-) create mode 100644 protocol.c create mode 100644 protocol.h create mode 100755 t/interop/i5700-protocol-transition.sh create mode 100755 t/t5700-protocol-v1.sh -- 2.14.1.992.g2c7b836f3a-goog