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>

Stefan Beller committed Jun 28, 2018 at 18:22 UTC 5e0c63604dc1e5bb2e81f0f216cf31bd98f14210
4 files changed +6 -5
blame.c
+1 -1
@@ -158,7 +158,7 @@ static void set_commit_buffer_from_strbuf(struct commit *c, struct strbuf *sb)
158 {
159 size_t len;
160 void *buf = strbuf_detach(sb, &len);
161 - set_commit_buffer(c, buf, len);
161 + set_commit_buffer(the_repository, c, buf, len);
162 }
163
164 /*
commit.c
+2 -2
@@ -262,7 +262,7 @@ struct commit_buffer {
262 define_commit_slab(buffer_slab, struct commit_buffer);
263 static struct buffer_slab buffer_slab = COMMIT_SLAB_INIT(1, buffer_slab);
264
265 -void set_commit_buffer(struct commit *commit, void *buffer, unsigned long size)
265 +void set_commit_buffer_the_repository(struct commit *commit, void *buffer, unsigned long size)
266 {
267 struct commit_buffer *v = buffer_slab_at(&buffer_slab, commit);
268 v->buffer = buffer;
@@ -450,7 +450,7 @@ int parse_commit_gently(struct commit *item, int quiet_on_missing)
450 }
451 ret = parse_commit_buffer(the_repository, item, buffer, size, 0);
452 if (save_commit_buffer && !ret) {
453 - set_commit_buffer(item, buffer, size);
453 + set_commit_buffer(the_repository, item, buffer, size);
454 return 0;
455 }
456 free(buffer);
commit.h
+2 -1
@@ -95,7 +95,8 @@ void parse_commit_or_die(struct commit *item);
95 * Associate an object buffer with the commit. The ownership of the
96 * memory is handed over to the commit, and must be free()-able.
97 */
98 -void set_commit_buffer(struct commit *, void *buffer, unsigned long size);
98 +#define set_commit_buffer(r, c, b, s) set_commit_buffer_##r(c, b, s)
99 +void set_commit_buffer_the_repository(struct commit *, void *buffer, unsigned long size);
100
101 /*
102 * Get any cached object buffer associated with the commit. Returns NULL
object.c
+1 -1
@@ -217,7 +217,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
217 if (parse_commit_buffer(the_repository, commit, buffer, size, 1))
218 return NULL;
219 if (!get_cached_commit_buffer(commit, NULL)) {
220 - set_commit_buffer(commit, buffer, size);
220 + set_commit_buffer(the_repository, commit, buffer, size);
221 *eaten_p = 1;
222 }
223 obj = &commit->object;