mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
packfile: refactor get_packed_git() to work on packfile store
The `get_packed_git()` function prepares the packfile store and then returns its packfiles. Refactor it to accept a packfile store instead of a repository to clarify its scope. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ab8aff4a6b
commit
751808b2a1
@@ -1423,7 +1423,7 @@ static int incremental_repack_auto_condition(struct gc_config *cfg UNUSED)
|
|||||||
if (incremental_repack_auto_limit < 0)
|
if (incremental_repack_auto_limit < 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
for (p = get_packed_git(the_repository);
|
for (p = packfile_store_get_packs(the_repository->objects->packfiles);
|
||||||
count < incremental_repack_auto_limit && p;
|
count < incremental_repack_auto_limit && p;
|
||||||
p = p->next) {
|
p = p->next) {
|
||||||
if (!p->multi_pack_index)
|
if (!p->multi_pack_index)
|
||||||
|
|||||||
@@ -1214,7 +1214,7 @@ int cmd_grep(int argc,
|
|||||||
if (recurse_submodules)
|
if (recurse_submodules)
|
||||||
repo_read_gitmodules(the_repository, 1);
|
repo_read_gitmodules(the_repository, 1);
|
||||||
if (startup_info->have_repository)
|
if (startup_info->have_repository)
|
||||||
(void)get_packed_git(the_repository);
|
(void)packfile_store_get_packs(the_repository->objects->packfiles);
|
||||||
|
|
||||||
start_threads(&opt);
|
start_threads(&opt);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ static void find_short_packed_object(struct disambiguate_state *ds)
|
|||||||
unique_in_midx(m, ds);
|
unique_in_midx(m, ds);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (p = get_packed_git(ds->repo); p && !ds->ambiguous;
|
for (p = packfile_store_get_packs(ds->repo->objects->packfiles); p && !ds->ambiguous;
|
||||||
p = p->next)
|
p = p->next)
|
||||||
unique_in_pack(p, ds);
|
unique_in_pack(p, ds);
|
||||||
}
|
}
|
||||||
@@ -806,7 +806,7 @@ static void find_abbrev_len_packed(struct min_abbrev_data *mad)
|
|||||||
find_abbrev_len_for_midx(m, mad);
|
find_abbrev_len_for_midx(m, mad);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (p = get_packed_git(mad->repo); p; p = p->next)
|
for (p = packfile_store_get_packs(mad->repo->objects->packfiles); p; p = p->next)
|
||||||
find_abbrev_len_for_pack(p, mad);
|
find_abbrev_len_for_pack(p, mad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1027,10 +1027,10 @@ void packfile_store_reprepare(struct packfile_store *store)
|
|||||||
packfile_store_prepare(store);
|
packfile_store_prepare(store);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct packed_git *get_packed_git(struct repository *r)
|
struct packed_git *packfile_store_get_packs(struct packfile_store *store)
|
||||||
{
|
{
|
||||||
packfile_store_prepare(r->objects->packfiles);
|
packfile_store_prepare(store);
|
||||||
return r->objects->packfiles->packs;
|
return store->packs;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct packed_git *get_all_packs(struct repository *r)
|
struct packed_git *get_all_packs(struct repository *r)
|
||||||
|
|||||||
@@ -136,6 +136,12 @@ void packfile_store_reprepare(struct packfile_store *store);
|
|||||||
void packfile_store_add_pack(struct packfile_store *store,
|
void packfile_store_add_pack(struct packfile_store *store,
|
||||||
struct packed_git *pack);
|
struct packed_git *pack);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get packs managed by the given store. Does not load the MIDX or any packs
|
||||||
|
* referenced by it.
|
||||||
|
*/
|
||||||
|
struct packed_git *packfile_store_get_packs(struct packfile_store *store);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Open the packfile and add it to the store if it isn't yet known. Returns
|
* Open the packfile and add it to the store if it isn't yet known. Returns
|
||||||
* either the newly opened packfile or the preexisting packfile. Returns a
|
* either the newly opened packfile or the preexisting packfile. Returns a
|
||||||
@@ -220,7 +226,6 @@ int for_each_packed_object(struct repository *repo, each_packed_object_fn cb,
|
|||||||
#define PACKDIR_FILE_GARBAGE 4
|
#define PACKDIR_FILE_GARBAGE 4
|
||||||
extern void (*report_garbage)(unsigned seen_bits, const char *path);
|
extern void (*report_garbage)(unsigned seen_bits, const char *path);
|
||||||
|
|
||||||
struct packed_git *get_packed_git(struct repository *r);
|
|
||||||
struct list_head *get_packed_git_mru(struct repository *r);
|
struct list_head *get_packed_git_mru(struct repository *r);
|
||||||
struct packed_git *get_all_packs(struct repository *r);
|
struct packed_git *get_all_packs(struct repository *r);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user