Make clear_commit_marks() clean harder
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> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
0d2c9d67d9
commit
31aea7ef77
7
commit.c
7
commit.c
@ -397,13 +397,12 @@ void clear_commit_marks(struct commit *commit, unsigned int mark)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user