From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx> This is part 3 of 3 for partial clone. It assumes that part 1 [1] and part 2 [2] are in place. Part 3 is concerned with the commands: clone, fetch, upload-pack, fetch-pack, remote-curl, index-pack, and the pack-protocol. Jonathan and I independently started on this task. This is a first pass at merging those efforts. So there are several places that need refactoring and cleanup. In particular, the test cases should be squashed and new tests added. [1] https://public-inbox.org/git/20171102124445.fbffd43521cd35f6a71e1851@xxxxxxxxxx/T/ [2] TODO Jeff Hostetler (5): upload-pack: add object filtering for partial clone clone, fetch-pack, index-pack, transport: partial clone fetch: add object filtering for partial fetch remote-curl: add object filtering for partial clone index-pack: silently assume missing objects are promisor Jonathan Tan (9): fetch: refactor calculation of remote list pack-objects: test support for blob filtering fetch-pack: test support excluding large blobs fetch: add from_promisor and exclude-promisor-objects parameters t5500: add fetch-pack tests for partial clone t5601: test for partial clone t5500: more tests for partial clone and fetch unpack-trees: batch fetching of missing blobs fetch-pack: restore save_commit_buffer after use Documentation/config.txt | 4 + Documentation/gitremote-helpers.txt | 4 + Documentation/technical/pack-protocol.txt | 8 ++ Documentation/technical/protocol-capabilities.txt | 8 ++ builtin/clone.c | 24 ++++- builtin/fetch-pack.c | 4 + builtin/fetch.c | 83 ++++++++++++++-- builtin/index-pack.c | 14 +++ connected.c | 3 + fetch-object.c | 27 ++++- fetch-object.h | 5 + fetch-pack.c | 17 ++++ fetch-pack.h | 2 + remote-curl.c | 10 +- t/t5300-pack-object.sh | 45 +++++++++ t/t5500-fetch-pack.sh | 115 ++++++++++++++++++++++ t/t5601-clone.sh | 101 +++++++++++++++++++ t/test-lib-functions.sh | 12 +++ transport-helper.c | 5 + transport.c | 4 + transport.h | 5 + unpack-trees.c | 22 +++++ upload-pack.c | 20 +++- 23 files changed, 526 insertions(+), 16 deletions(-) -- 2.9.3