From ee6fb5823822bb03bd8dc5b7e7645e5b319033f0 Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Tue, 19 May 2026 11:58:00 -0400 Subject: [PATCH] midx: expose `midx_layer_contains_pack()` 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 Signed-off-by: Junio C Hamano --- midx.c | 6 +++--- midx.h | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/midx.c b/midx.c index bcb8c99901..dc86c8e7fe 100644 --- 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 77dd66de02..3ee12dd08e 100644 --- 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);