Browse Source

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>
maint
Rene Scharfe 19 years ago committed by Junio C Hamano
parent
commit
31aea7ef77
  1. 7
      commit.c

7
commit.c

@ -397,13 +397,12 @@ void clear_commit_marks(struct commit *commit, unsigned int mark) @@ -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…
Cancel
Save