Mercurial > public > mercurial-scm > hg
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 |