From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx> This is V5 of part 3 of partial clone. It assumes that V5 of parts 1 and 2 are already present. This version carries forward the cleanup described in part 1 WRT filter argument encoding. 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 partial-clone: define partial clone settings in config 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 | 22 ++++- builtin/fetch-pack.c | 4 + builtin/fetch.c | 93 +++++++++++++++-- cache.h | 1 + config.c | 5 + connected.c | 2 + environment.c | 1 + fetch-object.c | 26 ++++- fetch-object.h | 5 + fetch-pack.c | 17 ++++ fetch-pack.h | 2 + list-objects-filter-options.c | 90 ++++++++++++++--- list-objects-filter-options.h | 6 ++ remote-curl.c | 12 +++ t/t5300-pack-object.sh | 26 +++++ 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 | 22 ++++- 27 files changed, 594 insertions(+), 28 deletions(-) -- 2.9.3