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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html