From a80d72db2a73174b3f22142eb2014b33696fd795 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Fri, 23 Mar 2018 18:20:59 +0100 Subject: object-store: move packed_git and packed_git_mru to object store MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In a process with multiple repositories open, packfile accessors should be associated to a single repository and not shared globally. Move packed_git and packed_git_mru into the_repository and adjust callers to reflect this. [nd: while at there, wrap access to these two fields in get_packed_git() and get_packed_git_mru(). This allows us to lazily initialize these fields without caller doing that explicitly] Signed-off-by: Stefan Beller Signed-off-by: Jonathan Nieder Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- object.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'object.c') diff --git a/object.c b/object.c index 581347b535..04631ee841 100644 --- a/object.c +++ b/object.c @@ -452,6 +452,7 @@ struct raw_object_store *raw_object_store_new(void) struct raw_object_store *o = xmalloc(sizeof(*o)); memset(o, 0, sizeof(*o)); + INIT_LIST_HEAD(&o->packed_git_mru); return o; } @@ -480,4 +481,10 @@ void raw_object_store_clear(struct raw_object_store *o) free_alt_odbs(o); o->alt_odb_tail = NULL; + + INIT_LIST_HEAD(&o->packed_git_mru); + /* + * TODO: call close_all_packs once migrated to + * take an object store argument + */ } -- cgit v1.2.3