martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY This addresses a TODO added in a1381eea7c7d <https://phab.mercurial-scm.org/rHGa1381eea7c7d3ee8a92b4d9fcc403b4b518aa56c> (graft: do not use `.remove` on a smart set (regression), 2014-04-28). I couldn't measure any speedup. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D7805 AFFECTED FILES mercurial/commands.py CHANGE DETAILS diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -3080,14 +3080,13 @@ crev = repo[b'.'].rev() ancestors = repo.changelog.ancestors([crev], inclusive=True) # XXX make this lazy in the future - # don't mutate while iterating, create a copy - for rev in list(revs): + for rev in revs: if rev in ancestors: ui.warn( _(b'skipping ancestor revision %d:%s\n') % (rev, repo[rev]) ) - # XXX remove on list is slow - revs.remove(rev) + revs = [r for r in revs if r not in ancestors] + if not revs: return -1 To: martinvonz, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel