]> granicus.if.org Git - git/commitdiff
tag: add repository argument to parse_tag_buffer
authorStefan Beller <sbeller@google.com>
Fri, 29 Jun 2018 01:22:04 +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 the callers of parse_tag_buffer
to be more specific about which repository to act on. 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>
builtin/replace.c
log-tree.c
object.c
sha1-file.c
tag.c
tag.h

index 0351b7c62cf48c5c368b128fa555812bf3856549..ef22d724bbc74c8f48249da0f68b9878a4d7339c 100644 (file)
@@ -405,7 +405,7 @@ static int check_one_mergetag(struct commit *commit,
        tag = lookup_tag(the_repository, &tag_oid);
        if (!tag)
                return error(_("bad mergetag in commit '%s'"), ref);
-       if (parse_tag_buffer(tag, extra->value, extra->len))
+       if (parse_tag_buffer(the_repository, tag, extra->value, extra->len))
                return error(_("malformed mergetag in commit '%s'"), ref);
 
        /* iterate over new parents */
index 840423ca149e63e48093c7e072c59975528a9e17..76475d0136b60d1f19ae1267014bed8485dc2898 100644 (file)
@@ -503,7 +503,7 @@ static int show_one_mergetag(struct commit *commit,
                return -1; /* error message already given */
 
        strbuf_init(&verify_message, 256);
-       if (parse_tag_buffer(tag, extra->value, extra->len))
+       if (parse_tag_buffer(the_repository, tag, extra->value, extra->len))
                strbuf_addstr(&verify_message, "malformed mergetag\n");
        else if (is_common_merge(commit) &&
                 !oidcmp(&tag->tagged->oid,
index bcfcfd387609dd2779d83dc68e6d0232e782fe22..e095d49b379e9d50a0ea6be80e3957298aea7a22 100644 (file)
--- a/object.c
+++ b/object.c
@@ -225,7 +225,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
        } else if (type == OBJ_TAG) {
                struct tag *tag = lookup_tag(the_repository, oid);
                if (tag) {
-                       if (parse_tag_buffer(tag, buffer, size))
+                       if (parse_tag_buffer(the_repository, tag, buffer, size))
                               return NULL;
                        obj = &tag->object;
                }
index 75ba30b4ab1b862581da7b8d27ccc0869fc3a310..c75ef771f8b5c9280466917f8b314d0fe9659884 100644 (file)
@@ -1809,7 +1809,7 @@ static void check_tag(const void *buf, size_t size)
 {
        struct tag t;
        memset(&t, 0, sizeof(t));
-       if (parse_tag_buffer(&t, buf, size))
+       if (parse_tag_buffer(the_repository, &t, buf, size))
                die("corrupt tag");
 }
 
diff --git a/tag.c b/tag.c
index 5b41fc71fadc8cc4fa427957abc8cffefdded957..4971fd4dfc92e664b8ea3a6d65e99f25cccaccd7 100644 (file)
--- a/tag.c
+++ b/tag.c
@@ -126,7 +126,7 @@ void release_tag_memory(struct tag *t)
        t->date = 0;
 }
 
-int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
+int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size)
 {
        struct object_id oid;
        char type[20];
@@ -203,7 +203,7 @@ int parse_tag(struct tag *item)
                return error("Object %s not a tag",
                             oid_to_hex(&item->object.oid));
        }
-       ret = parse_tag_buffer(item, data, size);
+       ret = parse_tag_buffer(the_repository, item, data, size);
        free(data);
        return ret;
 }
diff --git a/tag.h b/tag.h
index 276c448cd552c5cde41e4b45c682d23d9e1e5342..149959c81ba6a2aadb73b99d5d11b263853b5d36 100644 (file)
--- a/tag.h
+++ b/tag.h
@@ -13,7 +13,8 @@ struct tag {
 };
 #define lookup_tag(r, o) lookup_tag_##r(o)
 extern struct tag *lookup_tag_the_repository(const struct object_id *oid);
-extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long size);
+#define parse_tag_buffer(r, i, d, s) parse_tag_buffer_##r(i, d, s)
+extern int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size);
 extern int parse_tag(struct tag *item);
 extern void release_tag_memory(struct tag *t);
 extern struct object *deref_tag(struct object *, const char *, int);