tag: allow lookup_tag to handle arbitrary repositories

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 8bde69b974d20a030506d2de49b7cacfb17a63e7
2 files changed +6 -7
tag.c
+5 -5
@@ -92,13 +92,13 @@ struct object *deref_tag_noverify(struct object *o)
92 return o;
93 }
94
95 -struct tag *lookup_tag_the_repository(const struct object_id *oid)
95 +struct tag *lookup_tag(struct repository *r, const struct object_id *oid)
96 {
97 - struct object *obj = lookup_object(the_repository, oid->hash);
97 + struct object *obj = lookup_object(r, oid->hash);
98 if (!obj)
99 - return create_object(the_repository, oid->hash,
100 - alloc_tag_node(the_repository));
101 - return object_as_type(the_repository, obj, OBJ_TAG, 0);
99 + return create_object(r, oid->hash,
100 + alloc_tag_node(r));
101 + return object_as_type(r, obj, OBJ_TAG, 0);
102 }
103
104 static timestamp_t parse_tag_date(const char *buf, const char *tail)
tag.h
+1 -2
@@ -11,8 +11,7 @@ struct tag {
11 char *tag;
12 timestamp_t date;
13 };
14 -#define lookup_tag(r, o) lookup_tag_##r(o)
15 -extern struct tag *lookup_tag_the_repository(const struct object_id *oid);
14 +extern struct tag *lookup_tag(struct repository *r, const struct object_id *oid);
15 #define parse_tag_buffer(r, i, d, s) parse_tag_buffer_##r(i, d, s)
16 extern int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size);
17 extern int parse_tag(struct tag *item);