Subject: [PATCH v7 00/16] Parial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests

From: Jeff Hostetler <[email-masked]>
Date: Fri, 8 Dec 2017 15:58:35 +0000

From: Jeff Hostetler <[email-masked]>

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