Hi David, here are my patches for a protocol v2. ("Negotiate capabilities before doing anything else", or as code: static void upload_pack_version_2(void) { send_capabilities_version_2(); receive_capabilities_version_2(); /* The rest of the protocol stays the same, capabilities advertising is disabled though. */ advertise_capabilities = 0; upload_pack(); } ) They are rough and unfinished as you can see by the tailing WIPs. However the plumbing (upload-pack and fetch-pack) works and we'd need to integrate that into user porcelains, i.e. fetch, clone, push. Also we need to add tests for all the options again, so we'd need to be smart about testing that. I am not sure if it makes sense to integrate that with the http series, though. Thanks, Stefan Nguyễn Thái Ngọc Duy (1): upload-pack: make client capability parsing code a separate function Stefan Beller (13): upload-pack.c: Refactor capability advertising upload-pack-2: Implement the version 2 of upload-pack connect: rewrite feature parsing to work on string_list transport: add infrastructure to support a protocol version number remote.h: add get_remote_capabilities, request_capabilities fetch-pack: move capability selection out of do_fetch_pack fetch-pack: factor out get_selected_capabilities_list fetch-pack: Add negotiate_capabilities do_fetch_pack: select capabilities for transport version 1 only builtin/fetch-pack: add argument for transport version Add test for fetch-pack WIP add test for git pull WIP test git fetch .gitignore | 1 + Makefile | 4 ++ builtin/fetch-pack.c | 20 ++++++- builtin/receive-pack.c | 15 +++-- connect.c | 141 +++++++++++++++++++++++++++++-------------- connect.h | 2 +- fetch-pack.c | 102 ++++++++++++++++++++++++------- fetch-pack.h | 7 +++ remote.c | 2 + remote.h | 5 ++ t/t5500-fetch-pack.sh | 21 +++++++ t/t5510-fetch.sh | 5 ++ t/t5520-pull.sh | 6 ++ transport-helper.c | 1 + transport.c | 20 ++++++- transport.h | 8 +++ upload-pack-2.c | 1 + upload-pack.c | 159 ++++++++++++++++++++++++++++++++++++------------- 18 files changed, 403 insertions(+), 117 deletions(-) create mode 120000 upload-pack-2.c -- 2.8.0.32.g71f8beb.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html