Mercurial > hg-stable
changeset 6106:cb2f7652ad1b
revert: don't let repo.status walk the whole working dir
Problem diagnosed by pmezard.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 14 Feb 2008 18:08:16 -0200 |
parents | 6480af8fd53c |
children | 41bb88cb913e |
files | mercurial/commands.py |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Thu Feb 14 18:08:16 2008 -0200 +++ b/mercurial/commands.py Thu Feb 14 18:08:16 2008 -0200 @@ -2211,9 +2211,12 @@ wlock = repo.wlock() try: # walk dirstate. + files = [] for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, badmatch=mf.has_key): names[abs] = (rel, exact) + if src != 'b': + files.append(abs) # walk target manifest. @@ -2232,7 +2235,7 @@ continue names[abs] = (rel, exact) - changes = repo.status(match=names.has_key)[:4] + changes = repo.status(files=files, match=names.has_key)[:4] modified, added, removed, deleted = map(dict.fromkeys, changes) # if f is a rename, also revert the source