diff -r 216fa1ba9993 -r 9e03602cd2d8 mercurial/manifest.py --- a/mercurial/manifest.py Thu Mar 19 17:40:19 2015 +0100 +++ b/mercurial/manifest.py Wed Mar 18 15:59:45 2015 -0700 @@ -164,8 +164,8 @@ return self.copy() files = match.files() - if ((match.matchfn == match.exact and len(files) < 100) or - (not match.anypats() and util.all(fn in self for fn in files))): + if (len(files) < 100 and (match.matchfn == match.exact or + (not match.anypats() and util.all(fn in self for fn in files)))): return self.intersectfiles(files) lm = manifestdict('')