Skip to content

Parial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests

Jeff Hostetler git 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v7 Latest16 patches 7 repliesIn review
  2. v614 patches 0 repliesSuperseded
  3. v514 patches 0 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v415 patches3 repliesSuperseded
v114 patches8 repliesSuperseded

Patches in v7 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16sha1_file: support lazily fetching missing objectsbuiltin/cat-file.c builtin/fetch-pack.c builtin/fsck.c +5 more+99 -80 replies
2/16rev-list: support termination at promisor objectsDocumentation/rev-list-options.txt builtin/rev-list.c list-objects.c +4 more+240 -120 replies
3/16gc: do not repack promisor packfilesDocumentation/git-pack-objects.txt builtin/gc.c builtin/pack-objects.c +3 more+114 -60 replies
4/16upload-pack: add object filtering for partial cloneDocumentation/config.txt Documentation/technical/pack-protocol.txt Documentation/technical/protocol-capabilities.txt +1 more+45 -10 replies
5/16fetch-pack, index-pack, transport: partial clonebuiltin/fetch-pack.c fetch-pack.c fetch-pack.h +3 more+33 -00 replies
6/16fetch-pack: add --no-filterbuiltin/fetch-pack.c+4 -00 replies
7/16fetch-pack: test support excluding large blobst/t5500-fetch-pack.sh upload-pack.c+36 -40 replies
8/16fetch: refactor calculation of remote listbuiltin/fetch.c+8 -60 replies
9/16fetch: support filtersbuiltin/fetch.c connected.c remote-curl.c +1 more+65 -22 replies
10/16partial-clone: define partial clone settings in configcache.h config.c environment.c +2 more+88 -150 replies
11/16clone: partial clonebuiltin/clone.c t/t5601-clone.sh+69 -20 replies
12/16unpack-trees: batch fetching of missing blobsfetch-object.c fetch-object.h t/t5601-clone.sh +1 more+101 -40 replies
13/16fetch-pack: restore save_commit_buffer after usefetch-pack.c+4 -00 replies
14/16t5616: end-to-end tests for partial clonet/t5616-partial-clone.sh+96 -00 replies
15/16fetch: inherit filter-spec from partial clonebuiltin/fetch-pack.c builtin/fetch.c builtin/rev-list.c +3 more+89 -70 replies
16/16t5616: test bulk prefetch after partial fetcht/t5616-partial-clone.sh+31 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v7 yet.

Read the v7 thread

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

From: Jeff Hostetler <[email protected]>

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
Signature · 1 line
2.9.3