Jeff King <peff@xxxxxxxx> writes: > Which I think would include both of the flags you mentioned, along with > others like SYMMETRIC_LEFT, PATCHSAME, etc. Probably really everything > mentioned in revision.h, which should be summed up as ALL_REV_FLAGS. > Some callsites already seem to feed that to clear_commit_marks(). > > I doubt you can go too wrong by clearing more flags. This and ... > It's possible that > some caller is relying on a flag _not_ being cleared between two > traversals, but in that case it should probably be using > clear_commit_marks() or clear_object_flags() explicitly to make it clear > what it expects to be saved. ... this are contradictory, no? A caller may use two sets of its own flags in addition to letting the traversal machinery use the basic ones, and it may want to keep one of its own two sets while clearing the other set. It would clear_commit_marks() to clear the latter. And then it would let that the next traversal to reset_revision_walk() clear the basic ones. So if you make reset_revision_walk() clear "more flags", that would break such a caller that is using clear_commit_marks() to make it clear what its expectations are, no? I dunno.