diff options
Diffstat (limited to 'sha1_file.c')
-rw-r--r-- | sha1_file.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/sha1_file.c b/sha1_file.c index e1ee0ad349..ced0791847 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -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); |