diff --git a/commit-tree.c b/commit-tree.c
index 2d8651894a20e752eb47e6da439ad3cee13c29c4..25958509703f7e46dc0b1a4bffd7be8ba2897cf9 100644 (file)
--- a/commit-tree.c
+++ b/commit-tree.c
static void check_valid(unsigned char *sha1, const char *expect)
{
- void *buf;
char type[20];
- unsigned long size;
- buf = read_sha1_file(sha1, type, &size);
- if (!buf || strcmp(type, expect))
- die("%s is not a valid '%s' object", sha1_to_hex(sha1), expect);
- free(buf);
+ if (sha1_object_info(sha1, type, NULL))
+ die("%s is not a valid object", sha1_to_hex(sha1));
+ if (expect && strcmp(type, expect))
+ die("%s is not a valid '%s' object", sha1_to_hex(sha1),
+ expect);
}
/*