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>
This commit is contained in:
Stefan Beller 2018-06-28 18:22:01 -07:00 committed by Junio C Hamano
parent 08f4f44501
commit 5e0c63604d
4 changed files with 6 additions and 5 deletions

View File

@ -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);
}
/*

View File

@ -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);

View File

@ -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

View File

@ -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;