midx: pass repository to load_multi_pack_index

The `load_multi_pack_index` function in midx uses `the_repository`
variable to access the `repository` struct. Modify the function and its
callee's to send the `repository` field.

This moves usage of `the_repository` to the `test-read-midx.c` file.
While that is not optimal, it is okay, since the upcoming commits will
slowly move the usage of `the_repository` up the layers and remove it
eventually.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Karthik Nayak
2024-11-27 17:28:31 +01:00
committed by Junio C Hamano
parent fae9bae709
commit d5c2ca576a
3 changed files with 13 additions and 10 deletions

11
midx.c
View File

@ -372,7 +372,8 @@ static struct multi_pack_index *load_multi_pack_index_chain(struct repository *r
return m;
}
struct multi_pack_index *load_multi_pack_index(const char *object_dir,
struct multi_pack_index *load_multi_pack_index(struct repository *r,
const char *object_dir,
int local)
{
struct strbuf midx_name = STRBUF_INIT;
@ -380,10 +381,10 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir,
get_midx_filename(&midx_name, object_dir);
m = load_multi_pack_index_one(the_repository, object_dir,
m = load_multi_pack_index_one(r, object_dir,
midx_name.buf, local);
if (!m)
m = load_multi_pack_index_chain(the_repository, object_dir, local);
m = load_multi_pack_index_chain(r, object_dir, local);
strbuf_release(&midx_name);
@ -727,7 +728,7 @@ int prepare_multi_pack_index_one(struct repository *r, const char *object_dir, i
if (!strcmp(object_dir, m_search->object_dir))
return 1;
m = load_multi_pack_index(object_dir, local);
m = load_multi_pack_index(r, object_dir, local);
if (m) {
struct multi_pack_index *mp = r->objects->multi_pack_index;
@ -881,7 +882,7 @@ int verify_midx_file(struct repository *r, const char *object_dir, unsigned flag
struct pair_pos_vs_id *pairs = NULL;
uint32_t i;
struct progress *progress = NULL;
struct multi_pack_index *m = load_multi_pack_index(object_dir, 1);
struct multi_pack_index *m = load_multi_pack_index(r, object_dir, 1);
struct multi_pack_index *curr;
verify_midx_error = 0;

4
midx.h
View File

@ -97,7 +97,9 @@ void get_midx_chain_filename(struct strbuf *buf, const char *object_dir);
void get_split_midx_filename_ext(struct strbuf *buf, const char *object_dir,
const unsigned char *hash, const char *ext);
struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local);
struct multi_pack_index *load_multi_pack_index(struct repository *r,
const char *object_dir,
int local);
int prepare_midx_pack(struct repository *r, struct multi_pack_index *m, uint32_t pack_int_id);
struct packed_git *nth_midxed_pack(struct multi_pack_index *m,
uint32_t pack_int_id);

View File

@ -18,7 +18,7 @@ static int read_midx_file(const char *object_dir, const char *checksum,
struct multi_pack_index *m;
setup_git_directory();
m = load_multi_pack_index(object_dir, 1);
m = load_multi_pack_index(the_repository, object_dir, 1);
if (!m)
return 1;
@ -82,7 +82,7 @@ static int read_midx_checksum(const char *object_dir)
struct multi_pack_index *m;
setup_git_directory();
m = load_multi_pack_index(object_dir, 1);
m = load_multi_pack_index(the_repository, object_dir, 1);
if (!m)
return 1;
printf("%s\n", hash_to_hex(get_midx_checksum(m)));
@ -98,7 +98,7 @@ static int read_midx_preferred_pack(const char *object_dir)
setup_git_directory();
midx = load_multi_pack_index(object_dir, 1);
midx = load_multi_pack_index(the_repository, object_dir, 1);
if (!midx)
return 1;
@ -121,7 +121,7 @@ static int read_midx_bitmapped_packs(const char *object_dir)
setup_git_directory();
midx = load_multi_pack_index(object_dir, 1);
midx = load_multi_pack_index(the_repository, object_dir, 1);
if (!midx)
return 1;