[PATCH 18/19] commit: allow prepare_commit_graft to handle arbitrary repositories
From: Stefan Beller <hidden>
Date: 2018-05-17 22:52:58
Subsystem:
the rest · Maintainer:
Linus Torvalds
Move the global variable 'commit_graft_prepared' into the object pool and convert the function prepare_commit_graft to work an arbitrary repositories. Signed-off-by: Stefan Beller <redacted> --- commit.c | 14 ++++++-------- object.h | 2 ++ 2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/commit.c b/commit.c
index 24028fd257a..eef1675d692 100644
--- a/commit.c
+++ b/commit.c@@ -196,19 +196,17 @@ static int read_graft_file(struct repository *r, const char *graft_file) return 0; } -#define prepare_commit_graft(r) prepare_commit_graft_##r() -static void prepare_commit_graft_the_repository(void) +static void prepare_commit_graft(struct repository *r) { - static int commit_graft_prepared; char *graft_file; - if (commit_graft_prepared) + if (r->parsed_objects->commit_graft_prepared) return; - graft_file = get_graft_file(the_repository); - read_graft_file(the_repository, graft_file); + graft_file = get_graft_file(r); + read_graft_file(r, graft_file); /* make sure shallows are read */ - is_repository_shallow(the_repository); - commit_graft_prepared = 1; + is_repository_shallow(r); + r->parsed_objects->commit_graft_prepared = 1; } struct commit_graft *lookup_commit_graft_the_repository(const struct object_id *oid)
diff --git a/object.h b/object.h
index a314331acaf..4af499ab03e 100644
--- a/object.h
+++ b/object.h@@ -20,6 +20,8 @@ struct parsed_object_pool { int is_shallow; struct stat_validity *shallow_stat; char *alternate_shallow_file; + + int commit_graft_prepared; }; struct parsed_object_pool *parsed_object_pool_new(void);
--
2.17.0.582.gccdcbd54c44.dirty