Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > It is not clean to reset the flags of all objects to 0. Instead, > the commits are walked directly. Not that it matters in that > particular case (the only read objects _are_ these commits). I think this makes sense, but the clear-commit-marks function itself looks fishy. I suspect a parent that has not been parsed could be already marked in which case the current code would leave it marked. Don't we need this perhaps? diff --git a/commit.c b/commit.c index 946615d..69fbc41 100644 --- a/commit.c +++ b/commit.c @@ -397,8 +397,7 @@ void clear_commit_marks(struct commit *c commit->object.flags &= ~mark; while (parents) { struct commit *parent = parents->item; - if (parent && parent->object.parsed && - (parent->object.flags & mark)) + if (parent && (parent->object.flags & mark)) clear_commit_marks(parent, mark); parents = parents->next; } - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html