summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2017-08-30 00:13:13 -0700
committerJunio C Hamano <gitster@pobox.com>2017-09-07 08:49:46 +0900
commit37835275e5be8594e5620cba015955d4e48b52cf (patch)
treef3d4d2a1fdc484d1ce6a5b41a39585ce765dae04
parent7e06c0b62d5fa5ef72e5d4dde6b9b1b39a9bab8a (diff)
downloadgit-37835275e5be8594e5620cba015955d4e48b52cf.tar.gz
pack: allow prepare_packed_git_one 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.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/packfile.c b/packfile.c
index 9bb93ce256..4652be0b6e 100644
--- a/packfile.c
+++ b/packfile.c
@@ -719,8 +719,8 @@ static void report_pack_garbage(struct string_list *list)
report_helper(list, seen_bits, first, list->nr);
}
-#define prepare_packed_git_one(r, o, l) prepare_packed_git_one_##r(o, l)
-static void prepare_packed_git_one_the_repository(char *objdir, int local)
+static void prepare_packed_git_one(struct repository *r,
+ char *objdir, int local)
{
struct strbuf path = STRBUF_INIT;
size_t dirnamelen;
@@ -753,8 +753,7 @@ static void prepare_packed_git_one_the_repository(char *objdir, int local)
base_len = path.len;
if (strip_suffix_mem(path.buf, &base_len, ".idx")) {
/* Don't reopen a pack we already have. */
- for (p = the_repository->objects.packed_git; p;
- p = p->next) {
+ for (p = r->objects.packed_git; p; p = p->next) {
size_t len;
if (strip_suffix(p->pack_name, ".pack", &len) &&
len == base_len &&
@@ -767,7 +766,7 @@ static void prepare_packed_git_one_the_repository(char *objdir, int local)
* corresponding .pack file that we can map.
*/
(p = add_packed_git(path.buf, path.len, local)) != NULL)
- install_packed_git(the_repository, p);
+ install_packed_git(r, p);
}
if (!report_garbage)