}
 
 static struct alloc_state object_state;
-void *alloc_object_node(void)
+void *alloc_object_node_the_repository(void)
 {
        struct object *obj = alloc_node(&object_state, sizeof(union any_object));
        obj->type = OBJ_NONE;
 
 extern void *alloc_commit_node_the_repository(void);
 #define alloc_tag_node(r) alloc_tag_node_##r()
 extern void *alloc_tag_node_the_repository(void);
-extern void *alloc_object_node(void);
+#define alloc_object_node(r) alloc_object_node_##r()
+extern void *alloc_object_node_the_repository(void);
 extern void alloc_report(void);
 extern unsigned int alloc_commit_index(void);
 
 
        struct object *obj = lookup_object(sha1);
        if (!obj)
                obj = create_object(the_repository, sha1,
-                                   alloc_object_node());
+                                   alloc_object_node(the_repository));
        return obj;
 }