"Miriam R." <mirucam@xxxxxxxxx> writes: > To my understanding, it looks like calling reset_revision_walk() after > the while() loop should be enough. Am I right or am I missing > something? I suspect that reset_revision_walk() may be too-big a hammer, as it clears everything, regardless of the reason why the flag bits were set. On the other hand, the clearly strategy that uses clear_commit_marks() is to clear only the flag bits that were set during the previous revision walk from only the commits that were walked during the previous revision walk. I offhand do not know what flag bits on what objects that were not involved in the previous revision walk are still necessary at the point of the call made by the caller (that's a question for your mentors who volunteered their expertise on the program in question), so if there isn't any, reset_revision_walk() may be an easy way out. I just do not know if it clears too much to break the code that comes after the function returns. Thanks.