From 628b06d7d75588bbe37dfb7ecac19d2694884d66 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 10 Sep 2008 12:22:35 -0700 Subject: Fix git-diff-tree --stdin 140b378 (Teach git diff-tree --stdin to diff trees, 2008-08-10) broke the more important case of reading series of commits to filter ones that touch given pathspecs. Noticed by Mark Levedahl, running "gitk ec3a4ba" and trying to focus on commits that touch "t/" directory. Signed-off-by: Junio C Hamano --- builtin-diff-tree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'builtin-diff-tree.c') diff --git a/builtin-diff-tree.c b/builtin-diff-tree.c index 1138c2da73..8ecefd4f0f 100644 --- a/builtin-diff-tree.c +++ b/builtin-diff-tree.c @@ -71,8 +71,9 @@ static int diff_tree_stdin(char *line) line[len-1] = 0; if (get_sha1_hex(line, sha1)) return -1; - obj = lookup_object(sha1); - obj = obj ? obj : parse_object(sha1); + obj = lookup_unknown_object(sha1); + if (!obj || !obj->parsed) + obj = parse_object(sha1); if (!obj) return -1; if (obj->type == OBJ_COMMIT) -- cgit v1.2.3