midx: pass a repository pointer

Much of the multi-pack-index code focuses on the multi_pack_index
struct, and so we only pass a pointer to the current one. However,
we will insert a dependency on the packed_git linked list in a
future change, so we will need a repository reference. Inserting
these parameters is a significant enough change to split out.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee
2019-04-29 09:18:55 -07:00
committed by Junio C Hamano
parent 83232e3864
commit 64404a24cf
5 changed files with 22 additions and 15 deletions

View File

@ -1035,7 +1035,7 @@ struct packed_git *get_all_packs(struct repository *r)
for (m = r->objects->multi_pack_index; m; m = m->next) {
uint32_t i;
for (i = 0; i < m->num_packs; i++) {
if (!prepare_midx_pack(m, i)) {
if (!prepare_midx_pack(r, m, i)) {
m->packs[i]->next = p;
p = m->packs[i];
}
@ -1998,7 +1998,7 @@ int find_pack_entry(struct repository *r, const struct object_id *oid, struct pa
return 0;
for (m = r->objects->multi_pack_index; m; m = m->next) {
if (fill_midx_entry(oid, e, m))
if (fill_midx_entry(r, oid, e, m))
return 1;
}