diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-06-17 10:44:38 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-06-17 10:44:38 -0700 |
| commit | 88134a8417b1deb6b236e660c6e0547355b180a3 (patch) | |
| tree | 73576f3a8c6ea5ee66cda30b4d24cb1c9bc5173b /pack-objects.h | |
| parent | 60f9bc3e30ad38678434b46389f9acb644f94189 (diff) | |
| parent | c178b02e29f7e3d4033893af9fad8477c9b99be9 (diff) | |
| download | git-88134a8417b1deb6b236e660c6e0547355b180a3.tar.xz | |
Merge branch 'ds/path-walk-2'
"git pack-objects" learns to find delta bases from blobs at the
same path, using the --path-walk API.
* ds/path-walk-2:
pack-objects: allow --shallow and --path-walk
path-walk: add new 'edge_aggressive' option
pack-objects: thread the path-based compression
pack-objects: refactor path-walk delta phase
scalar: enable path-walk during push via config
pack-objects: enable --path-walk via config
repack: add --path-walk option
t5538: add tests to confirm deltas in shallow pushes
pack-objects: introduce GIT_TEST_PACK_PATH_WALK
p5313: add performance tests for --path-walk
pack-objects: update usage to match docs
pack-objects: add --path-walk option
pack-objects: extract should_attempt_deltas()
Diffstat (limited to 'pack-objects.h')
| -rw-r--r-- | pack-objects.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pack-objects.h b/pack-objects.h index 475a2d67ce..b1c3e702f4 100644 --- a/pack-objects.h +++ b/pack-objects.h @@ -120,11 +120,23 @@ struct object_entry { unsigned ext_base:1; /* delta_idx points outside packlist */ }; +/** + * A packing region is a section of the packing_data.objects array + * as given by a starting index and a number of elements. + */ +struct packing_region { + size_t start; + size_t nr; +}; + struct packing_data { struct repository *repo; struct object_entry *objects; uint32_t nr_objects, nr_alloc; + struct packing_region *regions; + size_t nr_regions, nr_regions_alloc; + int32_t *index; uint32_t index_size; |
