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

From: Jeff Hostetler <[email-masked]>
Date: Thu, 16 Nov 2017 18:17:08 +0000

From: Jeff Hostetler <[email-masked]>

This part 3 of a 3 part sequence partial clone.  It assumes
that part 1 and part 2 are in place.

This patch series is labeled as V4 to keep it in sync with
the corresponding V4 versions of parts 1 and 2.  There was
not a V3 version of this patch series.

Jonathan and I independently started on this task.  This is another
pass at merging those efforts.  So there are several places that may
need refactoring and cleanup, but fewer than in the previous submission.
In particular, the test cases should be squashed and new tests added.

And I think we need more end-to-end tests.  I'll work on those next.

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 (10):
  fetch: refactor calculation of remote list
  pack-objects: test support for blob filtering
  fetch-pack: test support excluding large blobs
  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                                    |  27 ++++-
 fetch-object.h                                    |   5 +
 fetch-pack.c                                      |  17 ++++
 fetch-pack.h                                      |   2 +
 list-objects-filter-options.c                     | 110 +++++++++++++++++++--
 list-objects-filter-options.h                     |  12 +++
 remote-curl.c                                     |  11 +++
 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, 628 insertions(+), 20 deletions(-)

-- 
2.9.3