commit: add repository argument to prepare_commit_graft
[gitweb.git] / commit.c
index a0c9eb05c8254cad4e592a819e6c7e1868a1ce95..a0400b93a1e3dfa320040a684297f43b30a8ea78 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -104,16 +104,17 @@ static const unsigned char *commit_graft_sha1_access(size_t index, void *table)
        return commit_graft_table[index]->oid.hash;
 }
 
-static int commit_graft_pos(const unsigned char *sha1)
+#define commit_graft_pos(r, s) commit_graft_pos_##r(s)
+static int commit_graft_pos_the_repository(const unsigned char *sha1)
 {
        return sha1_pos(sha1, the_repository->parsed_objects->grafts,
                        the_repository->parsed_objects->grafts_nr,
                        commit_graft_sha1_access);
 }
 
-int register_commit_graft(struct commit_graft *graft, int ignore_dups)
+int register_commit_graft_the_repository(struct commit_graft *graft, int ignore_dups)
 {
-       int pos = commit_graft_pos(graft->oid.hash);
+       int pos = commit_graft_pos(the_repository, graft->oid.hash);
 
        if (0 <= pos) {
                if (ignore_dups)
@@ -176,7 +177,8 @@ struct commit_graft *read_graft_line(struct strbuf *line)
        return NULL;
 }
 
-static int read_graft_file(const char *graft_file)
+#define read_graft_file(r, f) read_graft_file_##r(f)
+static int read_graft_file_the_repository(const char *graft_file)
 {
        FILE *fp = fopen_or_warn(graft_file, "r");
        struct strbuf buf = STRBUF_INIT;
@@ -187,7 +189,7 @@ static int read_graft_file(const char *graft_file)
                struct commit_graft *graft = read_graft_line(&buf);
                if (!graft)
                        continue;
-               if (register_commit_graft(graft, 1))
+               if (register_commit_graft(the_repository, graft, 1))
                        error("duplicate graft data: %s", buf.buf);
        }
        fclose(fp);
@@ -195,7 +197,8 @@ static int read_graft_file(const char *graft_file)
        return 0;
 }
 
-static void prepare_commit_graft(void)
+#define prepare_commit_graft(r) prepare_commit_graft_##r()
+static void prepare_commit_graft_the_repository(void)
 {
        static int commit_graft_prepared;
        char *graft_file;
@@ -203,7 +206,7 @@ static void prepare_commit_graft(void)
        if (commit_graft_prepared)
                return;
        graft_file = get_graft_file();
-       read_graft_file(graft_file);
+       read_graft_file(the_repository, graft_file);
        /* make sure shallows are read */
        is_repository_shallow();
        commit_graft_prepared = 1;
@@ -212,8 +215,8 @@ static void prepare_commit_graft(void)
 struct commit_graft *lookup_commit_graft(const struct object_id *oid)
 {
        int pos;
-       prepare_commit_graft();
-       pos = commit_graft_pos(oid->hash);
+       prepare_commit_graft(the_repository);
+       pos = commit_graft_pos(the_repository, oid->hash);
        if (pos < 0)
                return NULL;
        return the_repository->parsed_objects->grafts[pos];
@@ -229,7 +232,7 @@ int for_each_commit_graft(each_commit_graft_fn fn, void *cb_data)
 
 int unregister_shallow(const struct object_id *oid)
 {
-       int pos = commit_graft_pos(oid->hash);
+       int pos = commit_graft_pos(the_repository, oid->hash);
        if (pos < 0)
                return -1;
        if (pos + 1 < the_repository->parsed_objects->grafts_nr)