Merge with gitk --parents change.
[git.git] / sha1_name.c
index 5d1e441..fdd3214 100644 (file)
@@ -148,7 +148,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
        };
        const char **p;
 
-       if (!get_sha1_hex(str, sha1))
+       if (len == 40 && !get_sha1_hex(str, sha1))
                return 0;
 
        for (p = prefix; *p; p++) {
@@ -208,13 +208,9 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1)
        } else
                parent = -1;
 
-       if (0 <= parent) {
-               ret = get_parent(name, len, sha1, parent);
-               if (!ret)
-                       return 0;
-               else if(parent>0)
-                       return ret;
-       }
+       if (parent >= 0)
+               return get_parent(name, len, sha1, parent);
+
        ret = get_sha1_basic(name, len, sha1);
        if (!ret)
                return 0;