[PATCH 3/3] Make clear_commit_marks() clean harder
- From
Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
- Date
- Jul 1, 2006, 23:29 UTC
- Message-ID
- <20060701232958.GC2513@lsrfire.ath.cx>
- In-Reply-To
- <7vpsgpccak.fsf@assigned-by-dhcp.cox.net>
Don't care if objects have been parsed or not and don't stop when we reach a commit that is already clean -- its parents could be dirty.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> --- commit.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/commit.c b/commit.c index 593414d..70a4eff 100644 --- a/commit.c +++ b/commit.c @@ -397,13 +397,12 @@ void clear_commit_marks(struct commit *c { struct commit_list *parents; + if (!commit) + return; parents = commit->parents; commit->object.flags &= ~mark; while (parents) { - struct commit *parent = parents->item; - if (parent && parent->object.parsed && - (parent->object.flags & mark)) - clear_commit_marks(parent, mark); + clear_commit_marks(parents->item, mark); parents = parents->next; } }
-- 1.4.1.rc2.gfc04