add object_as_type helper for casting objects
[git/git.git] / refs.c
diff --git a/refs.c b/refs.c
index dc45774..7343565 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1531,9 +1531,8 @@ static enum peel_status peel_object(const unsigned char *name, unsigned char *sh
 
        if (o->type == OBJ_NONE) {
                int type = sha1_object_info(name, NULL);
-               if (type < 0)
+               if (type < 0 || !object_as_type(o, type, 0))
                        return PEEL_INVALID;
-               o->type = type;
        }
 
        if (o->type != OBJ_TAG)