diff options
author | Stefan Beller <sbeller@google.com> | 2018-05-18 01:51:53 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-18 02:13:10 +0300 |
commit | 2f6c767fd49a1fb324c2d19fcee1fe227d816e11 (patch) | |
tree | 1461a50478b84508df585b20f3d4e69ac670b0ef | |
parent | eee4502baaf8f82c20bcda70625df56ce68dd9b1 (diff) |
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 <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | commit.c | 14 | ||||
-rw-r--r-- | object.h | 2 |
2 files changed, 8 insertions, 8 deletions
@@ -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) @@ -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); |