提交 0e740fed 编写于 作者: S Stefan Beller 提交者: Junio C Hamano

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: NJonathan Nieder <jrnieder@gmail.com>
Signed-off-by: NStefan Beller <sbeller@google.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 ce71efb7
......@@ -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 */
......
......@@ -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,
......
......@@ -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;
}
......
......@@ -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");
}
......
......@@ -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;
}
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册