Changes in v3:
* Discussion seemed to settle on keeping the simplified version of
ref-in-want where the "want-ref" line only accepts full ref names. If
we want to we can add patterns at a later time.
* Reverted back to v1's behavior where requesting a ref that doesn't
exists is a hard error on the server. I went back and forth many
times on what the right thing to do here is and decided that a hard
error works much cleaner for the time being.
* 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 | 28 ++-
builtin/clone.c | 4 +-
builtin/fetch.c | 131 ++++++++-----
fetch-object.c | 2 +-
fetch-pack.c | 52 +++--
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/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