From 3b7d368f34715003c834233d9f23456bcb62b44a Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Tue, 19 Apr 2005 09:52:24 -0700 Subject: [PATCH] Don't parse commit objects more than once. Yes, the "parse_commit()" already checks for this condition, but we need to check for it in rev-tree too, so that we don't start walking the parent chain unnecessarily. --- rev-tree.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rev-tree.c b/rev-tree.c index c3884e359..ebeceb070 100644 --- a/rev-tree.c +++ b/rev-tree.c @@ -55,6 +55,10 @@ void process_commit(unsigned char *sha1) { struct commit_list *parents; struct commit *obj = lookup_commit(sha1); + + if (obj->object.parsed) + return; + parse_commit(obj); parents = obj->parents; -- 2.30.2