From: Junio C Hamano Date: Thu, 21 Apr 2005 01:06:50 +0000 (-0700) Subject: [PATCH] Teach ls-tree about commit objects X-Git-Tag: v0.99~790 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=23b127ed085cbe2f853ce63b53c732a7b9e6de74;p=git.git [PATCH] Teach ls-tree about commit objects Updates ls-tree.c to use read_tree_with_tree_or_commit_sha1() function. The command can take either tree or commit IDs with this patch. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds --- diff --git a/ls-tree.c b/ls-tree.c index c063640c1..bd99f9ac7 100644 --- a/ls-tree.c +++ b/ls-tree.c @@ -24,9 +24,9 @@ static void print_path_prefix(struct path_prefix *prefix) } static void list_recursive(void *buffer, - unsigned char *type, - unsigned long size, - struct path_prefix *prefix) + const unsigned char *type, + unsigned long size, + struct path_prefix *prefix) { struct path_prefix this_prefix; this_prefix.prev = prefix; @@ -72,12 +72,11 @@ static int list(unsigned char *sha1) { void *buffer; unsigned long size; - char type[20]; - buffer = read_sha1_file(sha1, type, &size); + buffer = read_tree_with_tree_or_commit_sha1(sha1, &size, 0); if (!buffer) die("unable to read sha1 file"); - list_recursive(buffer, type, size, NULL); + list_recursive(buffer, "tree", size, NULL); return 0; }