comparison mercurial/localrepo.py @ 20646:a4d587c6e3dd

localrepo: changed revs to use spanset instead of baseset Performance benchmarking: $ time hg log -qf -l1 ... real 0m1.420s user 0m1.249s sys 0m0.167s $ time ~/local/hg/hg log -qf -l1 ... real 0m0.719s user 0m0.614s sys 0m0.103s
author Lucas Moscovicz <lmoscovicz@fb.com>
date Wed, 05 Mar 2014 17:42:05 -0800
parents a42ea6d209e6
children efbf15979538
comparison
equal deleted inserted replaced
20645:7d83c3b6e8d9 20646:a4d587c6e3dd
426 426
427 def revs(self, expr, *args): 427 def revs(self, expr, *args):
428 '''Return a list of revisions matching the given revset''' 428 '''Return a list of revisions matching the given revset'''
429 expr = revset.formatspec(expr, *args) 429 expr = revset.formatspec(expr, *args)
430 m = revset.match(None, expr) 430 m = revset.match(None, expr)
431 return revset.baseset([r for r in m(self, revset.baseset(self))]) 431 return m(self, revset.spanset(self))
432 432
433 def set(self, expr, *args): 433 def set(self, expr, *args):
434 ''' 434 '''
435 Yield a context for each matching revision, after doing arg 435 Yield a context for each matching revision, after doing arg
436 replacement via revset.formatspec 436 replacement via revset.formatspec