packfile: allow install_packed_git to handle arbitrary repositories
This conversion was done without the #define trick used in the earlier series refactoring to have better repository access, because this function is easy to review, as it only has one caller and all lines but the first two are converted. We must not convert 'pack_open_fds' to be a repository specific variable, as it is used to monitor resource usage of the machine that Git executes on. 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:
committed by
Junio C Hamano
parent
c235beac4e
commit
5babff16d9
@ -680,13 +680,13 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local)
|
||||
return p;
|
||||
}
|
||||
|
||||
void install_packed_git(struct packed_git *pack)
|
||||
void install_packed_git(struct repository *r, struct packed_git *pack)
|
||||
{
|
||||
if (pack->pack_fd != -1)
|
||||
pack_open_fds++;
|
||||
|
||||
pack->next = the_repository->objects->packed_git;
|
||||
the_repository->objects->packed_git = pack;
|
||||
pack->next = r->objects->packed_git;
|
||||
r->objects->packed_git = pack;
|
||||
}
|
||||
|
||||
void (*report_garbage)(unsigned seen_bits, const char *path);
|
||||
@ -782,7 +782,7 @@ static void prepare_packed_git_one(char *objdir, int local)
|
||||
* corresponding .pack file that we can map.
|
||||
*/
|
||||
(p = add_packed_git(path.buf, path.len, local)) != NULL)
|
||||
install_packed_git(p);
|
||||
install_packed_git(the_repository, p);
|
||||
}
|
||||
|
||||
if (!report_garbage)
|
||||
|
||||
Reference in New Issue
Block a user