X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=commit.c;h=b8bf35e86081a638137c49e9eabb18c466dec1e5;hb=2c620a1ad1dce1e249d66ce18c7b1cce22d5d64c;hp=56efc69f1f4bf1568eaa549bed16f7cc2cd669ba;hpb=59617ebb746b67921856c00a63f943d43b0abeea;p=git.git diff --git a/commit.c b/commit.c index 56efc69f..b8bf35e8 100644 --- a/commit.c +++ b/commit.c @@ -359,8 +359,10 @@ void clear_commit_marks(struct commit *commit, unsigned int mark) parents = commit->parents; commit->object.flags &= ~mark; while (parents) { - if (parents->item && parents->item->object.parsed) - clear_commit_marks(parents->item, mark); + struct commit *parent = parents->item; + if (parent && parent->object.parsed && + (parent->object.flags & mark)) + clear_commit_marks(parent, mark); parents = parents->next; } }