packfile: allow prepare_packed_git_one to handle arbitrary repositories

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-03-23 18:45:22 +01:00 коммит произвёл Junio C Hamano
Родитель a49d283435
Коммит 935cdd6922
1 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -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)