tag: add repository argument to parse_tag_buffer

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>

Stefan Beller committed Jun 28, 2018 at 18:22 UTC 0e740fed5dfd84bf0d136719d91a7764a3477d20
6 files changed +8 -7
builtin/replace.c
+1 -1
@@ -405,7 +405,7 @@ static int check_one_mergetag(struct commit *commit,
405 tag = lookup_tag(the_repository, &tag_oid);
406 if (!tag)
407 return error(_("bad mergetag in commit '%s'"), ref);
408 - if (parse_tag_buffer(tag, extra->value, extra->len))
408 + if (parse_tag_buffer(the_repository, tag, extra->value, extra->len))
409 return error(_("malformed mergetag in commit '%s'"), ref);
410
411 /* iterate over new parents */
log-tree.c
+1 -1
@@ -503,7 +503,7 @@ static int show_one_mergetag(struct commit *commit,
503 return -1; /* error message already given */
504
505 strbuf_init(&verify_message, 256);
506 - if (parse_tag_buffer(tag, extra->value, extra->len))
506 + if (parse_tag_buffer(the_repository, tag, extra->value, extra->len))
507 strbuf_addstr(&verify_message, "malformed mergetag\n");
508 else if (is_common_merge(commit) &&
509 !oidcmp(&tag->tagged->oid,
object.c
+1 -1
@@ -225,7 +225,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
225 } else if (type == OBJ_TAG) {
226 struct tag *tag = lookup_tag(the_repository, oid);
227 if (tag) {
228 - if (parse_tag_buffer(tag, buffer, size))
228 + if (parse_tag_buffer(the_repository, tag, buffer, size))
229 return NULL;
230 obj = &tag->object;
231 }
sha1-file.c
+1 -1
@@ -1809,7 +1809,7 @@ static void check_tag(const void *buf, size_t size)
1809 {
1810 struct tag t;
1811 memset(&t, 0, sizeof(t));
1812 - if (parse_tag_buffer(&t, buf, size))
1812 + if (parse_tag_buffer(the_repository, &t, buf, size))
1813 die("corrupt tag");
1814 }
1815
tag.c
+2 -2
@@ -126,7 +126,7 @@ void release_tag_memory(struct tag *t)
126 t->date = 0;
127 }
128
129 -int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
129 +int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size)
130 {
131 struct object_id oid;
132 char type[20];
@@ -203,7 +203,7 @@ int parse_tag(struct tag *item)
203 return error("Object %s not a tag",
204 oid_to_hex(&item->object.oid));
205 }
206 - ret = parse_tag_buffer(item, data, size);
206 + ret = parse_tag_buffer(the_repository, item, data, size);
207 free(data);
208 return ret;
209 }
tag.h
+2 -1
@@ -13,7 +13,8 @@ struct tag {
13 };
14 #define lookup_tag(r, o) lookup_tag_##r(o)
15 extern struct tag *lookup_tag_the_repository(const struct object_id *oid);
16 -extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long size);
16 +#define parse_tag_buffer(r, i, d, s) parse_tag_buffer_##r(i, d, s)
17 +extern int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size);
18 extern int parse_tag(struct tag *item);
19 extern void release_tag_memory(struct tag *t);
20 extern struct object *deref_tag(struct object *, const char *, int);