aboutsummaryrefslogtreecommitdiff
path: root/pack-objects.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-06-17 10:44:38 -0700
committerJunio C Hamano <gitster@pobox.com>2025-06-17 10:44:38 -0700
commit88134a8417b1deb6b236e660c6e0547355b180a3 (patch)
tree73576f3a8c6ea5ee66cda30b4d24cb1c9bc5173b /pack-objects.h
parent60f9bc3e30ad38678434b46389f9acb644f94189 (diff)
parentc178b02e29f7e3d4033893af9fad8477c9b99be9 (diff)
downloadgit-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.h12
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;