upload-pack: drop lookup-before-parse optimization
[gitweb.git] / refs.c
diff --git a/refs.c b/refs.c
index f672ad93a63bbab69ab2b4e8a5d0a9b6ee62ad77..02e47b1157c367f9233ae88870b9a43cbe1a7d52 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1225,8 +1225,15 @@ int peel_ref(const char *refname, unsigned char *sha1)
        }
 
 fallback:
-       o = parse_object(base);
-       if (o && o->type == OBJ_TAG) {
+       o = lookup_unknown_object(base);
+       if (o->type == OBJ_NONE) {
+               int type = sha1_object_info(base, NULL);
+               if (type < 0)
+                       return -1;
+               o->type = type;
+       }
+
+       if (o->type == OBJ_TAG) {
                o = deref_tag_noverify(o);
                if (o) {
                        hashcpy(sha1, o->sha1);