diff options
authorStefan Beller <>2018-05-08 19:37:30 (GMT)
committerJunio C Hamano <>2018-05-09 03:12:36 (GMT)
commita0bd9086bb66fa8cb84bd4fac6441699121e1327 (patch)
parent8ba0e5ec57e4a7da18f735416e3028a9a8b8b1ad (diff)
alloc: add repository argument to alloc_tag_node
This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. Use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Stefan Beller <> Signed-off-by: Junio C Hamano <>
3 files changed, 4 insertions, 3 deletions
diff --git a/alloc.c b/alloc.c
index 9e2b897..290250e 100644
--- a/alloc.c
+++ b/alloc.c
@@ -65,7 +65,7 @@ void *alloc_tree_node_the_repository(void)
static struct alloc_state tag_state;
-void *alloc_tag_node(void)
+void *alloc_tag_node_the_repository(void)
struct tag *t = alloc_node(&tag_state, sizeof(struct tag));
t->object.type = OBJ_TAG;
diff --git a/cache.h b/cache.h
index bf6e8c8..32f340c 100644
--- a/cache.h
+++ b/cache.h
@@ -1770,7 +1770,8 @@ extern void *alloc_blob_node_the_repository(void);
extern void *alloc_tree_node_the_repository(void);
#define alloc_commit_node(r) alloc_commit_node_##r()
extern void *alloc_commit_node_the_repository(void);
-extern void *alloc_tag_node(void);
+#define alloc_tag_node(r) alloc_tag_node_##r()
+extern void *alloc_tag_node_the_repository(void);
extern void *alloc_object_node(void);
extern void alloc_report(void);
extern unsigned int alloc_commit_index(void);
diff --git a/tag.c b/tag.c
index 7150b75..02ef4ea 100644
--- a/tag.c
+++ b/tag.c
@@ -94,7 +94,7 @@ struct tag *lookup_tag(const struct object_id *oid)
struct object *obj = lookup_object(oid->hash);
if (!obj)
return create_object(the_repository, oid->hash,
- alloc_tag_node());
+ alloc_tag_node(the_repository));
return object_as_type(obj, OBJ_TAG, 0);