]> git.ipfire.org Git - thirdparty/git.git/commitdiff
midx: expose `midx_layer_contains_pack()`
authorTaylor Blau <me@ttaylorr.com>
Tue, 19 May 2026 15:58:00 +0000 (11:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 May 2026 02:31:13 +0000 (11:31 +0900)
Rename the function `midx_contains_pack_1()` to instead be called
`midx_layer_contains_pack()` and make it accessible. Unlike
`midx_contains_pack()` (which recurses through the entire chain), this
function checks only a single MIDX layer.

This will be used by a subsequent commit to determine whether a given
pack belongs to the tip MIDX layer specifically, rather than to any
layer in the chain.

No functional changes are present in this commit.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
midx.c
midx.h

diff --git a/midx.c b/midx.c
index bcb8c999015980543ab4103972250764383a8b82..dc86c8e7fee87981c59df8863a849100bb16cde2 100644 (file)
--- a/midx.c
+++ b/midx.c
@@ -667,8 +667,8 @@ static int midx_pack_names_cmp(const void *a, const void *b, void *m_)
                      m->pack_names[*(const size_t *)b]);
 }
 
-static int midx_contains_pack_1(struct multi_pack_index *m,
-                               const char *idx_or_pack_name)
+int midx_layer_contains_pack(struct multi_pack_index *m,
+                            const char *idx_or_pack_name)
 {
        uint32_t first = 0, last = m->num_packs;
 
@@ -709,7 +709,7 @@ static int midx_contains_pack_1(struct multi_pack_index *m,
 int midx_contains_pack(struct multi_pack_index *m, const char *idx_or_pack_name)
 {
        for (; m; m = m->base_midx)
-               if (midx_contains_pack_1(m, idx_or_pack_name))
+               if (midx_layer_contains_pack(m, idx_or_pack_name))
                        return 1;
        return 0;
 }
diff --git a/midx.h b/midx.h
index 77dd66de02bd3884f8a6bbd8d2abca7ae6adc24e..3ee12dd08ec087263a1acb192da0b6b88ef07be6 100644 (file)
--- a/midx.h
+++ b/midx.h
@@ -119,6 +119,8 @@ struct object_id *nth_midxed_object_oid(struct object_id *oid,
 int fill_midx_entry(struct multi_pack_index *m, const struct object_id *oid, struct pack_entry *e);
 int midx_contains_pack(struct multi_pack_index *m,
                       const char *idx_or_pack_name);
+int midx_layer_contains_pack(struct multi_pack_index *m,
+                            const char *idx_or_pack_name);
 int midx_preferred_pack(struct multi_pack_index *m, uint32_t *pack_int_id);
 int prepare_multi_pack_index_one(struct odb_source *source);