Mercurial > hg
changeset 24450:961790c35b4f
revert: take fast path also when not reverting to '.'
This speeds up 'hg revert -r .^ --all --dry-run' on the Mozilla repo
from 4.081s to 0.826s. Note that 'hg revert -r .^ .' does not get any
faster, since '.' does not make match.always() True.
I can't think of a reason it would break anything, and if it does,
it's clearly not covered by tests.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 24 Mar 2015 15:47:57 -0700 |
parents | bab983bb6fd1 |
children | c3bbafef25d6 |
files | mercurial/cmdutil.py |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Tue Mar 24 13:56:51 2015 -0700 +++ b/mercurial/cmdutil.py Tue Mar 24 15:47:57 2015 -0700 @@ -2811,7 +2811,7 @@ wctx = repo[None] m = scmutil.match(wctx, pats, opts) - if not m.always() or node != parent: + if not m.always(): m.bad = lambda x, y: False for abs in repo.walk(m): names[abs] = m.rel(abs), m.exact(abs) @@ -2840,7 +2840,7 @@ changes = repo.status(node1=node, match=m, unknown=True, ignored=True, clean=True) else: - changes = repo.status(match=m) + changes = repo.status(node1=node, match=m) for kind in changes: for abs in kind: names[abs] = m.rel(abs), m.exact(abs)