mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
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>
This commit is contained in:
parent
ce71efb713
commit
0e740fed5d
@ -405,7 +405,7 @@ static int check_one_mergetag(struct commit *commit,
|
|||||||
tag = lookup_tag(the_repository, &tag_oid);
|
tag = lookup_tag(the_repository, &tag_oid);
|
||||||
if (!tag)
|
if (!tag)
|
||||||
return error(_("bad mergetag in commit '%s'"), ref);
|
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);
|
return error(_("malformed mergetag in commit '%s'"), ref);
|
||||||
|
|
||||||
/* iterate over new parents */
|
/* iterate over new parents */
|
||||||
|
@ -503,7 +503,7 @@ static int show_one_mergetag(struct commit *commit,
|
|||||||
return -1; /* error message already given */
|
return -1; /* error message already given */
|
||||||
|
|
||||||
strbuf_init(&verify_message, 256);
|
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");
|
strbuf_addstr(&verify_message, "malformed mergetag\n");
|
||||||
else if (is_common_merge(commit) &&
|
else if (is_common_merge(commit) &&
|
||||||
!oidcmp(&tag->tagged->oid,
|
!oidcmp(&tag->tagged->oid,
|
||||||
|
2
object.c
2
object.c
@ -225,7 +225,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e
|
|||||||
} else if (type == OBJ_TAG) {
|
} else if (type == OBJ_TAG) {
|
||||||
struct tag *tag = lookup_tag(the_repository, oid);
|
struct tag *tag = lookup_tag(the_repository, oid);
|
||||||
if (tag) {
|
if (tag) {
|
||||||
if (parse_tag_buffer(tag, buffer, size))
|
if (parse_tag_buffer(the_repository, tag, buffer, size))
|
||||||
return NULL;
|
return NULL;
|
||||||
obj = &tag->object;
|
obj = &tag->object;
|
||||||
}
|
}
|
||||||
|
@ -1809,7 +1809,7 @@ static void check_tag(const void *buf, size_t size)
|
|||||||
{
|
{
|
||||||
struct tag t;
|
struct tag t;
|
||||||
memset(&t, 0, sizeof(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");
|
die("corrupt tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
tag.c
4
tag.c
@ -126,7 +126,7 @@ void release_tag_memory(struct tag *t)
|
|||||||
t->date = 0;
|
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;
|
struct object_id oid;
|
||||||
char type[20];
|
char type[20];
|
||||||
@ -203,7 +203,7 @@ int parse_tag(struct tag *item)
|
|||||||
return error("Object %s not a tag",
|
return error("Object %s not a tag",
|
||||||
oid_to_hex(&item->object.oid));
|
oid_to_hex(&item->object.oid));
|
||||||
}
|
}
|
||||||
ret = parse_tag_buffer(item, data, size);
|
ret = parse_tag_buffer(the_repository, item, data, size);
|
||||||
free(data);
|
free(data);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
3
tag.h
3
tag.h
@ -13,7 +13,8 @@ struct tag {
|
|||||||
};
|
};
|
||||||
#define lookup_tag(r, o) lookup_tag_##r(o)
|
#define lookup_tag(r, o) lookup_tag_##r(o)
|
||||||
extern struct tag *lookup_tag_the_repository(const struct object_id *oid);
|
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 int parse_tag(struct tag *item);
|
||||||
extern void release_tag_memory(struct tag *t);
|
extern void release_tag_memory(struct tag *t);
|
||||||
extern struct object *deref_tag(struct object *, const char *, int);
|
extern struct object *deref_tag(struct object *, const char *, int);
|
||||||
|
Loading…
Reference in New Issue
Block a user