Eliminate recursion in setting/clearing marks in commit list