evolve: avoid creating changectx object in _precursors
The repo lookups and object creations have a significant performance overhead.
--- a/hgext/evolve.py Thu Jun 18 16:18:29 2015 -0700
+++ b/hgext/evolve.py Thu Jun 18 16:13:15 2015 -0700
@@ -411,8 +411,9 @@
cs = set()
nm = repo.changelog.nodemap
markerbysubj = repo.obsstore.precursors
+ node = repo.changelog.node
for r in s:
- for p in markerbysubj.get(repo[r].node(), ()):
+ for p in markerbysubj.get(node(r), ()):
pr = nm.get(p[0])
if pr is not None:
cs.add(pr)