]> granicus.if.org Git - git/commitdiff
commit: add repository argument to set_commit_buffer
authorStefan Beller <sbeller@google.com>
Fri, 29 Jun 2018 01:22:01 +0000 (18:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 Jun 2018 17:43:39 +0000 (10:43 -0700)
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>
blame.c
commit.c
commit.h
object.c

diff --git a/blame.c b/blame.c
index 8a0655a5997c55a750b6b727d31c36ae01c603a9..cf102276bea1101b594737e56912e4badd169a42 100644 (file)
--- 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);
 }
 
 /*
index 75d0bdede84d413c820fa589fe79c2d83d63bb34..cdfb1a025b67677390f14ebd23f457c06bdf9164 100644 (file)
--- 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);
index f326c13622b588dd4c2410abfb88ea7ffcf7e0b3..7c14dfdc54b9e3f88f9cf52d1f5c3d14262dff47 100644 (file)
--- 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
index 5494c0cbaa1f51c6b87c05dfc1346d6c1c15eb16..d1f77565af63add7c0a356dcb823d957fa793b23 100644 (file)
--- 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;