зеркало из https://github.com/microsoft/git.git
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:
Родитель
a49d283435
Коммит
935cdd6922
|
@ -735,8 +735,7 @@ static void report_pack_garbage(struct string_list *list)
|
||||||
report_helper(list, seen_bits, first, list->nr);
|
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(struct repository *r, char *objdir, int local)
|
||||||
static void prepare_packed_git_one_the_repository(char *objdir, int local)
|
|
||||||
{
|
{
|
||||||
struct strbuf path = STRBUF_INIT;
|
struct strbuf path = STRBUF_INIT;
|
||||||
size_t dirnamelen;
|
size_t dirnamelen;
|
||||||
|
@ -769,7 +768,7 @@ static void prepare_packed_git_one_the_repository(char *objdir, int local)
|
||||||
base_len = path.len;
|
base_len = path.len;
|
||||||
if (strip_suffix_mem(path.buf, &base_len, ".idx")) {
|
if (strip_suffix_mem(path.buf, &base_len, ".idx")) {
|
||||||
/* Don't reopen a pack we already have. */
|
/* 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) {
|
p = p->next) {
|
||||||
size_t len;
|
size_t len;
|
||||||
if (strip_suffix(p->pack_name, ".pack", &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.
|
* corresponding .pack file that we can map.
|
||||||
*/
|
*/
|
||||||
(p = add_packed_git(path.buf, path.len, local)) != NULL)
|
(p = add_packed_git(path.buf, path.len, local)) != NULL)
|
||||||
install_packed_git(the_repository, p);
|
install_packed_git(r, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!report_garbage)
|
if (!report_garbage)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче