From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx> This is V7 of part 3 of partial clone. It builds upon V7 of part 2 (which builds upon V6 of part 1). This version adds additional tests, fixes test errors on the MAC version, and squashes some fixup commits. It also restores functionality accidentally dropped from the V6 series for "git fetch" to automatically inherit the partial-clone filter-spec when appropriate. This version extends the --no-filter argument to override this inheritance. Jeff Hostetler (8): upload-pack: add object filtering for partial clone fetch-pack, index-pack, transport: partial clone fetch-pack: add --no-filter fetch: support filters partial-clone: define partial clone settings in config t5616: end-to-end tests for partial clone fetch: inherit filter-spec from partial clone t5616: test bulk prefetch after partial fetch Jonathan Tan (8): sha1_file: support lazily fetching missing objects rev-list: support termination at promisor objects gc: do not repack promisor packfiles fetch-pack: test support excluding large blobs fetch: refactor calculation of remote list clone: partial clone unpack-trees: batch fetching of missing blobs fetch-pack: restore save_commit_buffer after use Documentation/config.txt | 4 + Documentation/git-pack-objects.txt | 11 ++ Documentation/rev-list-options.txt | 11 ++ Documentation/technical/pack-protocol.txt | 8 + Documentation/technical/protocol-capabilities.txt | 8 + builtin/cat-file.c | 2 + builtin/clone.c | 22 ++- builtin/fetch-pack.c | 10 ++ builtin/fetch.c | 83 ++++++++- builtin/fsck.c | 3 + builtin/gc.c | 3 + builtin/index-pack.c | 6 + builtin/pack-objects.c | 37 +++- builtin/prune.c | 7 + builtin/repack.c | 8 +- builtin/rev-list.c | 73 +++++++- cache.h | 9 + config.c | 5 + connected.c | 2 + environment.c | 1 + fetch-object.c | 29 ++- fetch-object.h | 5 + fetch-pack.c | 17 ++ fetch-pack.h | 2 + list-objects-filter-options.c | 92 ++++++++-- list-objects-filter-options.h | 18 ++ list-objects.c | 29 ++- object.c | 2 +- remote-curl.c | 6 + revision.c | 33 +++- revision.h | 5 +- sha1_file.c | 32 +++- t/t0410-partial-clone.sh | 206 +++++++++++++++++++++- t/t5500-fetch-pack.sh | 63 +++++++ t/t5601-clone.sh | 101 +++++++++++ t/t5616-partial-clone.sh | 146 +++++++++++++++ transport-helper.c | 5 + transport.c | 4 + transport.h | 5 + unpack-trees.c | 22 +++ upload-pack.c | 31 +++- 41 files changed, 1110 insertions(+), 56 deletions(-) create mode 100755 t/t5616-partial-clone.sh -- 2.9.3