Git fork

packfile: stop using linked MIDX list in `get_all_packs()`

Refactor `get_all_packs()` so that we stop using the linked list of
multi-pack indices. Note that there is no need to explicitly prepare
alternates, and neither do we have to use `get_multi_pack_index()`,
because `prepare_packed_git()` already takes care of populating all data
structures for us.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
c620586f 7fc19983

+6 -5
+6 -5
packfile.c
··· 1086 1086 1087 1087 struct packed_git *get_all_packs(struct repository *r) 1088 1088 { 1089 - struct multi_pack_index *m; 1089 + prepare_packed_git(r); 1090 1090 1091 - prepare_packed_git(r); 1092 - for (m = r->objects->multi_pack_index; m; m = m->next) { 1093 - uint32_t i; 1094 - for (i = 0; i < m->num_packs + m->num_packs_in_base; i++) 1091 + for (struct odb_source *source = r->objects->sources; source; source = source->next) { 1092 + struct multi_pack_index *m = source->midx; 1093 + if (!m) 1094 + continue; 1095 + for (uint32_t i = 0; i < m->num_packs + m->num_packs_in_base; i++) 1095 1096 prepare_midx_pack(r, m, i); 1096 1097 } 1097 1098