packfile: allow prepare_packed_git_one to handle arbitrary repositories
[gitweb.git] / packfile.c
index 6b2c86c5e0d1ab158a2f1e4f6fb90e7765d87edf..fd6aa54b4bd90c5a24cc1f20d0e79ce0a709baac 100644 (file)
@@ -735,8 +735,7 @@ 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;
@@ -769,7 +768,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;
+                       for (p = r->objects->packed_git; p;
                             p = p->next) {
                                size_t len;
                                if (strip_suffix(p->pack_name, ".pack", &len) &&
@@ -783,7 +782,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)
@@ -899,7 +898,7 @@ void prepare_packed_git_the_repository(void)
        the_repository->objects->packed_git_initialized = 1;
 }
 
-void reprepare_packed_git(void)
+void reprepare_packed_git_the_repository(void)
 {
        the_repository->objects->approximate_object_count_valid = 0;
        the_repository->objects->packed_git_initialized = 0;