summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-06-29 01:22:01 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-06-29 17:43:39 (GMT)
commit5e0c63604dc1e5bb2e81f0f216cf31bd98f14210 (patch)
treeaa6310c9b7d0d42620e751b397b2f2980e564bc0
parent08f4f44501bef21e10a1a449b8ba2d2710835b48 (diff)
downloadgit-5e0c63604dc1e5bb2e81f0f216cf31bd98f14210.zip
git-5e0c63604dc1e5bb2e81f0f216cf31bd98f14210.tar.gz
git-5e0c63604dc1e5bb2e81f0f216cf31bd98f14210.tar.bz2
commit: add repository argument to set_commit_buffer
Add a repository argument to allow callers of set_commit_buffer 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: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--blame.c2
-rw-r--r--commit.c4
-rw-r--r--commit.h3
-rw-r--r--object.c2
4 files changed, 6 insertions, 5 deletions
diff --git a/blame.c b/blame.c
index 8a0655a..cf10227 100644
--- a/blame.c
+++ b/blame.c
@@ -158,7 +158,7 @@ static void set_commit_buffer_from_strbuf(struct commit *c, struct strbuf *sb)
{
size_t len;
void *buf = strbuf_detach(sb, &len);
- set_commit_buffer(c, buf, len);
+ set_commit_buffer(the_repository, c, buf, len);
}
/*
diff --git a/commit.c b/commit.c
index 75d0bde..cdfb1a0 100644
--- a/commit.c
+++ b/commit.c
@@ -262,7 +262,7 @@ struct commit_buffer {
define_commit_slab(buffer_slab, struct commit_buffer);
static struct buffer_slab buffer_slab = COMMIT_SLAB_INIT(1, buffer_slab);
-void set_commit_buffer(struct commit *commit, void *buffer, unsigned long size)
+void set_commit_buffer_the_repository(struct commit *commit, void *buffer, unsigned long size)
{
struct commit_buffer *v = buffer_slab_at(&buffer_slab, commit);
v->buffer = buffer;
@@ -450,7 +450,7 @@ int parse_commit_gently(struct commit *item, int quiet_on_missing)
}
ret = parse_commit_buffer(the_repository, item, buffer, size, 0);
if (save_commit_buffer && !ret) {
- set_commit_buffer(item, buffer, size);
+ set_commit_buffer(the_repository, item, buffer, size);
return 0;
}
free(buffer);
diff --git a/commit.h b/commit.h
index f326c13..7c14dfd 100644
--- a/commit.h
+++ b/commit.h
@@ -95,7 +95,8 @@ void parse_commit_or_die(struct commit *item);
* Associate an object buffer with the commit. The ownership of the
* memory is handed over to the commit, and must be free()-able.
*/
-void set_commit_buffer(struct commit *, void *buffer, unsigned long size);
+#define set_commit_buffer(r, c, b, s) set_commit_buffer_##r(c, b, s)
+void set_commit_buffer_the_repository(struct commit *, void *buffer, unsigned long size);
/*
* Get any cached object buffer associated with the commit. Returns NULL
diff --git a/object.c b/object.c
index 5494c0c..d1f7756 100644
--- a/object.c
+++ b/object.c
@@ -217,7 +217,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
if (parse_commit_buffer(the_repository, commit, buffer, size, 1))
return NULL;
if (!get_cached_commit_buffer(commit, NULL)) {
- set_commit_buffer(commit, buffer, size);
+ set_commit_buffer(the_repository, commit, buffer, size);
*eaten_p = 1;
}
obj = &commit->object;