mirror of
https://github.com/git/git.git
synced 2026-01-09 01:34:00 +00:00
csum-file: stop depending on the_repository
There are multiple sites in "csum-file.c" where we use the global `the_repository` variable, either explicitly or implicitly by using `the_hash_algo`. Refactor the code to stop using `the_repository` by adapting functions to receive required data as parameters. Adapt callsites accordingly by either using `the_repository->hash_algo`, or by using a context-provided hash algorithm in case the subsystem already got rid of its dependency on `the_repository`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e969bc8759
commit
228457c9d9
@@ -3024,7 +3024,8 @@ int bitmap_is_preferred_refname(struct repository *r, const char *refname)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int verify_bitmap_file(const char *name)
|
||||
static int verify_bitmap_file(const struct git_hash_algo *algop,
|
||||
const char *name)
|
||||
{
|
||||
struct stat st;
|
||||
unsigned char *data;
|
||||
@@ -3040,7 +3041,7 @@ static int verify_bitmap_file(const char *name)
|
||||
|
||||
data = xmmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
|
||||
close(fd);
|
||||
if (!hashfile_checksum_valid(data, st.st_size))
|
||||
if (!hashfile_checksum_valid(algop, data, st.st_size))
|
||||
res = error(_("bitmap file '%s' has invalid checksum"),
|
||||
name);
|
||||
|
||||
@@ -3055,14 +3056,14 @@ int verify_bitmap_files(struct repository *r)
|
||||
for (struct multi_pack_index *m = get_multi_pack_index(r);
|
||||
m; m = m->next) {
|
||||
char *midx_bitmap_name = midx_bitmap_filename(m);
|
||||
res |= verify_bitmap_file(midx_bitmap_name);
|
||||
res |= verify_bitmap_file(r->hash_algo, midx_bitmap_name);
|
||||
free(midx_bitmap_name);
|
||||
}
|
||||
|
||||
for (struct packed_git *p = get_all_packs(r);
|
||||
p; p = p->next) {
|
||||
char *pack_bitmap_name = pack_bitmap_filename(p);
|
||||
res |= verify_bitmap_file(pack_bitmap_name);
|
||||
res |= verify_bitmap_file(r->hash_algo, pack_bitmap_name);
|
||||
free(pack_bitmap_name);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user