# HG changeset patch # User Pierre-Yves David # Date 1434669215 25200 # Node ID a127f0f3bf5f6424c889cdec4112d0e919adac0e # Parent 01bdeb847f81ca4fa324dc712783553d276cf072 evolve: avoid creating changectx object in _allprecursors The repo lookups and object creations have a significant performance overhead. diff -r 01bdeb847f81 -r a127f0f3bf5f hgext/evolve.py --- a/hgext/evolve.py Thu Jun 18 16:13:15 2015 -0700 +++ b/hgext/evolve.py Thu Jun 18 16:13:35 2015 -0700 @@ -421,7 +421,8 @@ def _allprecursors(repo, s): # XXX we need a better naming """transitive precursors of a subset""" - toproceed = [repo[r].node() for r in s] + node = repo.changelog.node + toproceed = [node(r) for r in s] seen = set() allsubjects = repo.obsstore.precursors while toproceed: