Changes in v6: * Stricter checks in tests * Change the name of a test to better reflect what is being tested * Various style issues fixed in shell scripts * Renamed one-time-sed.sh to apply-one-time-sed.sh * Client now errors out when an unexpected ref is sent from the server during the wanted-ref section. Also changed the docs around the server's responsibility with the refs that are sent during this section. 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 | 28 +- builtin/clone.c | 4 +- builtin/fetch.c | 135 +++++---- fetch-object.c | 2 +- fetch-pack.c | 53 +++- remote.c | 1 + remote.h | 1 + t/helper/test-pkt-line.c | 33 +++ t/lib-httpd.sh | 1 + t/lib-httpd/apache.conf | 8 + t/lib-httpd/apply-one-time-sed.sh | 22 ++ t/t5703-upload-pack-ref-in-want.sh | 377 ++++++++++++++++++++++++ transport-helper.c | 6 +- transport-internal.h | 9 +- transport.c | 34 ++- transport.h | 3 +- upload-pack.c | 66 +++++ 18 files changed, 715 insertions(+), 75 deletions(-) create mode 100644 t/lib-httpd/apply-one-time-sed.sh create mode 100755 t/t5703-upload-pack-ref-in-want.sh -- 2.18.0.399.gad0ab374a1-goog