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