diff mercurial/localrepo.py @ 20364:a6cf48b2880d

revset: added baseset class (still empty) to improve revset performance This class is going to be used to cache the set that is created from this list in many cases while evaluating a revset.
author Lucas Moscovicz <lmoscovicz@fb.com>
date Tue, 21 Jan 2014 11:39:26 -0800
parents 8567b4ea76ac
children c697b70f295f
line wrap: on
line diff
--- a/mercurial/localrepo.py	Mon Feb 03 21:34:13 2014 +0100
+++ b/mercurial/localrepo.py	Tue Jan 21 11:39:26 2014 -0800
@@ -428,7 +428,7 @@
         '''Return a list of revisions matching the given revset'''
         expr = revset.formatspec(expr, *args)
         m = revset.match(None, expr)
-        return [r for r in m(self, list(self))]
+        return revset.baseset([r for r in m(self, revset.baseset(self))])
 
     def set(self, expr, *args):
         '''