From 2f6c767fd49a1fb324c2d19fcee1fe227d816e11 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 17 May 2018 15:51:53 -0700 Subject: [PATCH] commit: allow prepare_commit_graft to handle arbitrary repositories 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 Signed-off-by: Junio C Hamano --- commit.c | 14 ++++++-------- object.h | 2 ++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/commit.c b/commit.c index 24028fd257..eef1675d69 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 a314331aca..4af499ab03 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);