commit: add repository argument to register_commit_graft

Add a repository argument to allow callers of register_commit_graft to
be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Nieder 2018-05-15 16:42:18 -07:00 committed by Junio C Hamano
parent be479e801d
commit 3f5787f806
4 changed files with 8 additions and 5 deletions

View File

@ -8,6 +8,7 @@
#include "cache.h" #include "cache.h"
#include "config.h" #include "config.h"
#include "builtin.h" #include "builtin.h"
#include "repository.h"
#include "commit.h" #include "commit.h"
#include "diff.h" #include "diff.h"
#include "revision.h" #include "revision.h"
@ -491,7 +492,7 @@ static int read_ancestry(const char *graft_file)
/* The format is just "Commit Parent1 Parent2 ...\n" */ /* The format is just "Commit Parent1 Parent2 ...\n" */
struct commit_graft *graft = read_graft_line(&buf); struct commit_graft *graft = read_graft_line(&buf);
if (graft) if (graft)
register_commit_graft(graft, 0); register_commit_graft(the_repository, graft, 0);
} }
fclose(fp); fclose(fp);
strbuf_release(&buf); strbuf_release(&buf);

View File

@ -112,7 +112,7 @@ static int commit_graft_pos_the_repository(const unsigned char *sha1)
commit_graft_sha1_access); 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(the_repository, graft->oid.hash); int pos = commit_graft_pos(the_repository, graft->oid.hash);
@ -188,7 +188,7 @@ static int read_graft_file(const char *graft_file)
struct commit_graft *graft = read_graft_line(&buf); struct commit_graft *graft = read_graft_line(&buf);
if (!graft) if (!graft)
continue; continue;
if (register_commit_graft(graft, 1)) if (register_commit_graft(the_repository, graft, 1))
error("duplicate graft data: %s", buf.buf); error("duplicate graft data: %s", buf.buf);
} }
fclose(fp); fclose(fp);

View File

@ -174,7 +174,8 @@ struct commit_graft {
typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *); typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *);
struct commit_graft *read_graft_line(struct strbuf *line); struct commit_graft *read_graft_line(struct strbuf *line);
int register_commit_graft(struct commit_graft *, int); #define register_commit_graft(r, g, i) register_commit_graft_##r(g, i)
int register_commit_graft_the_repository(struct commit_graft *, int);
struct commit_graft *lookup_commit_graft(const struct object_id *oid); struct commit_graft *lookup_commit_graft(const struct object_id *oid);
extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2); extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2);

View File

@ -1,4 +1,5 @@
#include "cache.h" #include "cache.h"
#include "repository.h"
#include "tempfile.h" #include "tempfile.h"
#include "lockfile.h" #include "lockfile.h"
#include "object-store.h" #include "object-store.h"
@ -38,7 +39,7 @@ int register_shallow(const struct object_id *oid)
graft->nr_parent = -1; graft->nr_parent = -1;
if (commit && commit->object.parsed) if (commit && commit->object.parsed)
commit->parents = NULL; commit->parents = NULL;
return register_commit_graft(graft, 0); return register_commit_graft(the_repository, graft, 0);
} }
int is_repository_shallow(void) int is_repository_shallow(void)