struct tag *lookup_tag(const struct object_id *oid) { struct object *obj = lookup_object(oid->hash); if (!obj) return create_object(oid->hash, alloc_tag_node()); return object_as_type(obj, OBJ_TAG, 0); }
struct tag *lookup_tag(const unsigned char *sha1) { struct object *obj = lookup_object(sha1); if (!obj) return create_object(sha1, alloc_tag_node()); return object_as_type(obj, OBJ_TAG, 0); }
struct tag *lookup_tag(const unsigned char *sha1) { struct object *obj = lookup_object(sha1); if (!obj) return create_object(sha1, OBJ_TAG, alloc_tag_node()); if (!obj->type) obj->type = OBJ_TAG; if (obj->type != OBJ_TAG) { error("Object %s is a %s, not a tag", sha1_to_hex(sha1), typename(obj->type)); return NULL; }