summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-04-21 01:06:50 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-21 01:06:50 (GMT)
commit23b127ed085cbe2f853ce63b53c732a7b9e6de74 (patch)
tree535dc82ef2cd11594f52bf36449effe9c7cd0d8a
parentc1fdf2a6abb6a7c5b8092d72514264ae378d60ee (diff)
downloadgit-23b127ed085cbe2f853ce63b53c732a7b9e6de74.zip
git-23b127ed085cbe2f853ce63b53c732a7b9e6de74.tar.gz
git-23b127ed085cbe2f853ce63b53c732a7b9e6de74.tar.bz2
[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 <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--ls-tree.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/ls-tree.c b/ls-tree.c
index c063640..bd99f9a 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;
}