mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
packfile: split up responsibilities of reprepare_packed_git()
In `reprepare_packed_git()` we perform a couple of operations: - We reload alternate object directories. - We clear the loose object cache. - We reprepare packfiles. While the logic is hosted in "packfile.c", it clearly reaches into other subsystems that aren't related to packfiles. Split up the responsibility and introduce `odb_reprepare()` which now becomes responsible for repreparing the whole object database. The existing `reprepare_packed_git()` function is refactored accordingly and only cares about reloading the packfile store now. 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
c36ecc0685
commit
78237ea53d
@@ -1983,7 +1983,7 @@ static void update_shallow(struct fetch_pack_args *args,
|
||||
* remote is shallow, but this is a clone, there are
|
||||
* no objects in repo to worry about. Accept any
|
||||
* shallow points that exist in the pack (iow in repo
|
||||
* after get_pack() and reprepare_packed_git())
|
||||
* after get_pack() and odb_reprepare())
|
||||
*/
|
||||
struct oid_array extra = OID_ARRAY_INIT;
|
||||
struct object_id *oid = si->shallow->oid;
|
||||
@@ -2108,7 +2108,7 @@ struct ref *fetch_pack(struct fetch_pack_args *args,
|
||||
ref_cpy = do_fetch_pack(args, fd, ref, sought, nr_sought,
|
||||
&si, pack_lockfiles);
|
||||
}
|
||||
reprepare_packed_git(the_repository);
|
||||
odb_reprepare(the_repository->objects);
|
||||
|
||||
if (!args->cloning && args->deepen) {
|
||||
struct check_connected_options opt = CHECK_CONNECTED_INIT;
|
||||
|
||||
Reference in New Issue
Block a user