diff -r 4caafe280488 -r 137a08d82232 mercurial/obsutil.py --- a/mercurial/obsutil.py Wed Dec 06 16:43:07 2017 -0500 +++ b/mercurial/obsutil.py Fri Dec 08 01:23:34 2017 +0100 @@ -441,12 +441,12 @@ public = phases.public addedmarkers = tr.changes.get('obsmarkers') addedrevs = tr.changes.get('revs') - seenrevs = set(addedrevs) + seenrevs = set() obsoleted = set() for mark in addedmarkers: node = mark[0] rev = torev(node) - if rev is None or rev in seenrevs: + if rev is None or rev in seenrevs or rev in addedrevs: continue seenrevs.add(rev) if phase(repo, rev) == public: