WIP Partial clone part 1: object filtering
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest13 patches 23 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | dir: allow exclusions from blob in addition to filedir.c dir.h | +52 | 5 replies | |
| 2/13 | list-objects-filter-map: extend oidmap to collect omitted objectsMakefile list-objects-filter-map.c list-objects-filter-map.h | +90 | 3 replies | |
| 3/13 | list-objects: filter objects in traverse_commit_listlist-objects.c list-objects.h | +81 | 2 replies | |
| 4/13 | list-objects-filter-blobs-none: add filter to omit all blobsMakefile list-objects-filter-blobs-none.c list-objects-filter-blobs-none.h | +102 | 0 replies | |
| 5/13 | list-objects-filter-blobs-limit: add large blob filteringMakefile list-objects-filter-blobs-limit.c list-objects-filter-blobs-limit.h | +165 | 0 replies | |
| 6/13 | list-objects-filter-sparse: add sparse filterMakefile list-objects-filter-sparse.c list-objects-filter-sparse.h | +272 | 0 replies | |
| 7/13 | list-objects-filter-options: common argument parsingMakefile list-objects-filter-options.c list-objects-filter-options.h | +152 | 2 replies | |
| 8/13 | list-objects: add traverse_commit_list_filtered methodlist-objects.c list-objects.h | +56 | 2 replies | |
| 9/13 | extension.partialclone: introduce partial clone extensionDocumentation/ Makefile cache.h +5 more | +180 | 0 replies | |
| 10/13 | rev-list: add list-objects filtering supportDocumentation/ Documentation/ builtin/ | +116 | 2 replies | |
| 11/13 | t6112: rev-list object filtering testt/ | +223 | 0 replies | |
| 12/13 | pack-objects: add list-objects filteringDocumentation/ builtin/ | +24 | 0 replies | |
| 13/13 | t5317: pack-objects object filtering testt/ | +384 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/13] WIP Partial clone part 1: object filtering
From: Jeff Hostetler <[email protected]>
I've been working with Jonathan Tan to combine our partial clone proposals. This patch series represents a first step in that effort and introduces an object filtering mechanism to select unwanted objects.
[1] traverse_commit_list and list-objects is extended to allow various filters.
[2] rev-list is extended to expose filtering. This allows testing of the filtering options. And can be used later to predict missing objects before commands like checkout or merge.
[3] pack-objects is extended to use filtering parameters and build packfiles that omit unwanted objects.
This patch series lays the ground work for subsequent parts which will extend clone, fetch, fetch-pack, upload-pack, fsck, and etc.
Jeff Hostetler (13):
dir: allow exclusions from blob in addition to file
list-objects-filter-map: extend oidmap to collect omitted objects
list-objects: filter objects in traverse_commit_list list-objects-filter-blobs-none: add filter to omit all blobs list-objects-filter-blobs-limit: add large blob filtering list-objects-filter-sparse: add sparse filter list-objects-filter-options: common argument parsing
list-objects: add traverse_commit_list_filtered method extension.partialclone: introduce partial clone extension
rev-list: add list-objects filtering support
t6112: rev-list object filtering test
pack-objects: add list-objects filtering
t5317: pack-objects object filtering test
Documentation/git-pack-objects.txt | 8 +- Documentation/git-rev-list.txt | 5 +- Documentation/rev-list-options.txt | 30 ++ Documentation/technical/repository-version.txt | 22 ++ Makefile | 6 + builtin/pack-objects.c | 18 +- builtin/rev-list.c | 84 +++++- cache.h | 4 + config.h | 3 + dir.c | 51 +++- dir.h | 3 + environment.c | 2 + list-objects-filter-blobs-limit.c | 146 ++++++++++ list-objects-filter-blobs-limit.h | 18 ++ list-objects-filter-blobs-none.c | 83 ++++++ list-objects-filter-blobs-none.h | 18 ++ list-objects-filter-map.c | 63 ++++ list-objects-filter-map.h | 26 ++ list-objects-filter-options.c | 101 +++++++ list-objects-filter-options.h | 50 ++++ list-objects-filter-sparse.c | 241 ++++++++++++++++ list-objects-filter-sparse.h | 30 ++ list-objects.c | 111 +++++-- list-objects.h | 43 ++- partial-clone-utils.c | 99 +++++++ partial-clone-utils.h | 34 +++ setup.c | 15 + t/t5317-pack-objects-filter-objects.sh | 384 +++++++++++++++++++++++++ t/t6112-rev-list-filters-objects.sh | 223 ++++++++++++++ 29 files changed, 1897 insertions(+), 24 deletions(-) create mode 100644 list-objects-filter-blobs-limit.c create mode 100644 list-objects-filter-blobs-limit.h create mode 100644 list-objects-filter-blobs-none.c create mode 100644 list-objects-filter-blobs-none.h create mode 100644 list-objects-filter-map.c create mode 100644 list-objects-filter-map.h create mode 100644 list-objects-filter-options.c create mode 100644 list-objects-filter-options.h create mode 100644 list-objects-filter-sparse.c create mode 100644 list-objects-filter-sparse.h create mode 100644 partial-clone-utils.c create mode 100644 partial-clone-utils.h create mode 100755 t/t5317-pack-objects-filter-objects.sh create mode 100755 t/t6112-rev-list-filters-objects.sh
Signature · 1 line
2.9.3