Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmutil.py @ 29813:35560189677c
subrepo: cleanup of subrepo filematcher logic
Previously in the worst case we iterated the files in matcher twice and
had a method only for this, which reimplemented logic in subdirmatchers
constructor. So we replaced the method with a subdirmatcher.files() call.
author | Hannes Oldenburg <hannes.christian.oldenburg@gmail.com> |
---|---|
date | Tue, 16 Aug 2016 08:15:12 +0000 |
parents | 98976e3cae57 |
children | 0c40e64d6154 |
line wrap: on
line diff
--- a/mercurial/scmutil.py Sun Aug 14 14:46:24 2016 +0900 +++ b/mercurial/scmutil.py Tue Aug 16 08:15:12 2016 +0000 @@ -949,10 +949,10 @@ wctx = repo[None] for subpath in sorted(wctx.substate): - if opts.get('subrepos') or m.matchessubrepo(subpath): + submatch = matchmod.subdirmatcher(subpath, m) + if opts.get('subrepos') or m.exact(subpath) or any(submatch.files()): sub = wctx.sub(subpath) try: - submatch = matchmod.subdirmatcher(subpath, m) if sub.addremove(submatch, prefix, opts, dry_run, similarity): ret = 1 except error.LookupError: