mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01: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
12
csum-file.h
12
csum-file.h
@@ -45,9 +45,12 @@ int hashfile_truncate(struct hashfile *, struct hashfile_checkpoint *);
|
||||
#define CSUM_FSYNC 2
|
||||
#define CSUM_HASH_IN_STREAM 4
|
||||
|
||||
struct hashfile *hashfd(int fd, const char *name);
|
||||
struct hashfile *hashfd_check(const char *name);
|
||||
struct hashfile *hashfd_throughput(int fd, const char *name, struct progress *tp);
|
||||
struct hashfile *hashfd(const struct git_hash_algo *algop,
|
||||
int fd, const char *name);
|
||||
struct hashfile *hashfd_check(const struct git_hash_algo *algop,
|
||||
const char *name);
|
||||
struct hashfile *hashfd_throughput(const struct git_hash_algo *algop,
|
||||
int fd, const char *name, struct progress *tp);
|
||||
|
||||
/*
|
||||
* Free the hashfile without flushing its contents to disk. This only
|
||||
@@ -66,7 +69,8 @@ void crc32_begin(struct hashfile *);
|
||||
uint32_t crc32_end(struct hashfile *);
|
||||
|
||||
/* Verify checksum validity while reading. Returns non-zero on success. */
|
||||
int hashfile_checksum_valid(const unsigned char *data, size_t len);
|
||||
int hashfile_checksum_valid(const struct git_hash_algo *algop,
|
||||
const unsigned char *data, size_t len);
|
||||
|
||||
/*
|
||||
* Returns the total number of bytes fed to the hashfile so far (including ones
|
||||
|
||||
Reference in New Issue
Block a user