From: Jeff King Date: Tue, 9 Jan 2007 16:11:47 +0000 (-0500) Subject: get_tree_entry: map blank requested entry to tree root X-Git-Tag: v1.5.0-rc1~34 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d93b7d1c30c9716953392ec6590686301de0cc25;p=git.git get_tree_entry: map blank requested entry to tree root This means that git show HEAD: will now return HEAD^{tree}, which is logically consistent with git show HEAD:Documentation Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/tree-walk.c b/tree-walk.c index 22f4550b6..70f899957 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -199,10 +199,17 @@ int get_tree_entry(const unsigned char *tree_sha1, const char *name, unsigned ch int retval; void *tree; struct tree_desc t; + unsigned char root[20]; - tree = read_object_with_reference(tree_sha1, tree_type, &t.size, NULL); + tree = read_object_with_reference(tree_sha1, tree_type, &t.size, root); if (!tree) return -1; + + if (name[0] == '\0') { + hashcpy(sha1, root); + return 0; + } + t.buf = tree; retval = find_tree_entry(&t, name, sha1, mode); free(tree);