Changes in v2: * issuing a want-ref line to a ref which doesn't exist is just ignored. * fixed some typos Brandon Williams (8): test-pkt-line: add unpack-sideband subcommand upload-pack: implement ref-in-want upload-pack: test negotiation with changing repository fetch: refactor the population of peer ref OIDs fetch: refactor fetch_refs into two functions fetch: refactor to make function args narrower fetch-pack: put shallow info in output parameter fetch-pack: implement ref-in-want Documentation/config.txt | 7 + Documentation/technical/protocol-v2.txt | 29 ++- builtin/clone.c | 4 +- builtin/fetch.c | 126 +++++++----- fetch-object.c | 2 +- fetch-pack.c | 52 +++-- remote.c | 1 + remote.h | 1 + t/helper/test-pkt-line.c | 37 ++++ t/lib-httpd.sh | 1 + t/lib-httpd/apache.conf | 8 + t/lib-httpd/one-time-sed.sh | 16 ++ t/t5703-upload-pack-ref-in-want.sh | 245 ++++++++++++++++++++++++ transport-helper.c | 6 +- transport-internal.h | 9 +- transport.c | 34 +++- transport.h | 3 +- upload-pack.c | 64 +++++++ 18 files changed, 568 insertions(+), 77 deletions(-) create mode 100644 t/lib-httpd/one-time-sed.sh create mode 100755 t/t5703-upload-pack-ref-in-want.sh -- 2.18.0.rc1.242.g61856ae69a-goog