Remove the ugly jit-style parent syntax.
[git/git.git] / sha1_file.c
index e1ee0ad..ced0791 100644 (file)
@@ -60,37 +60,6 @@ int get_sha1_file(const char *path, unsigned char *result)
        return get_sha1_hex(buffer, result);
 }
 
-static int get_parent(int index, const char *str, unsigned char *result)
-{
-       unsigned char sha1[20];
-       char *buffer;
-       unsigned long size, offset;
-       int ret;
-
-       if (get_sha1(str, sha1) < 0)
-               return -1;
-       buffer = read_object_with_reference(sha1, "commit", &size, NULL);
-       if (!buffer)
-               return -1;
-       ret = -1;
-       offset = 46;
-       for (;;) {
-               if (offset + 48 > size)
-                       break;
-               if (memcmp(buffer + offset, "parent ", 7))
-                       break;
-               if (index > 0) {
-                       offset += 48;
-                       index--;
-                       continue;
-               }
-               ret = get_sha1_hex(buffer + offset + 7, result);
-               break;
-       }
-       free(buffer);
-       return ret;     
-}
-
 int get_sha1(const char *str, unsigned char *sha1)
 {
        static char pathname[PATH_MAX];
@@ -108,19 +77,6 @@ int get_sha1(const char *str, unsigned char *sha1)
        if (!get_sha1_hex(str, sha1))
                return 0;
 
-       switch (*str) {
-       case '/':
-               if (!get_sha1_file(str, sha1))
-                       return 0;
-               break;
-       case '-':
-               return get_parent(0, str+1, sha1);
-       case '0' ... '9':
-               if (str[1] == '-')
-                       return get_parent(*str - '0', str+2, sha1);
-               break;
-       }
-
        gitdir = ".git";
        for (p = prefix; *p; p++) {
                snprintf(pathname, sizeof(pathname), "%s/%s/%s", gitdir, *p, str);