diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2017-08-30 00:13:49 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-07 08:49:46 +0900 |
commit | addad182b8dc0e1b3bdd841a8aa843a6a1b25371 (patch) | |
tree | 1d1d9df622a144a83fdaeee134550592239da785 | |
parent | 37835275e5be8594e5620cba015955d4e48b52cf (diff) | |
download | git-addad182b8dc0e1b3bdd841a8aa843a6a1b25371.tar.gz |
pack: allow prepare_packed_git to handle arbitrary repositories
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | packfile.c | 18 | ||||
-rw-r--r-- | packfile.h | 3 |
2 files changed, 10 insertions, 11 deletions
diff --git a/packfile.c b/packfile.c index 4652be0b6e..23a835f7fb 100644 --- a/packfile.c +++ b/packfile.c @@ -865,19 +865,19 @@ static void prepare_packed_git_mru(struct repository *r) mru_append(&r->objects.packed_git_mru, p); } -void prepare_packed_git_the_repository(void) +void prepare_packed_git(struct repository *r) { struct alternate_object_database *alt; - if (the_repository->objects.packed_git_initialized) + if (r->objects.packed_git_initialized) return; - prepare_packed_git_one(the_repository, get_object_directory(), 1); - prepare_alt_odb(the_repository); - for (alt = the_repository->objects.alt_odb_list; alt; alt = alt->next) - prepare_packed_git_one(the_repository, alt->path, 0); - rearrange_packed_git(the_repository); - prepare_packed_git_mru(the_repository); - the_repository->objects.packed_git_initialized = 1; + prepare_packed_git_one(r, r->objectdir, 1); + prepare_alt_odb(r); + for (alt = r->objects.alt_odb_list; alt; alt = alt->next) + prepare_packed_git_one(r, alt->path, 0); + rearrange_packed_git(r); + prepare_packed_git_mru(r); + r->objects.packed_git_initialized = 1; } void reprepare_packed_git_the_repository(void) diff --git a/packfile.h b/packfile.h index ba6f08be99..75be3cb877 100644 --- a/packfile.h +++ b/packfile.h @@ -32,8 +32,7 @@ extern struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_ #define PACKDIR_FILE_GARBAGE 4 extern void (*report_garbage)(unsigned seen_bits, const char *path); -#define prepare_packed_git(r) prepare_packed_git_##r() -extern void prepare_packed_git_the_repository(void); +extern void prepare_packed_git(struct repository *r); #define reprepare_packed_git(r) reprepare_packed_git_##r() extern void reprepare_packed_git_the_repository(void); extern void install_packed_git(struct repository *r, struct packed_git *pack); |