diff -r d44d53bc9a1e -r 55c449345b10 mercurial/manifest.py --- a/mercurial/manifest.py Wed Nov 19 15:56:58 2014 -0800 +++ b/mercurial/manifest.py Wed Oct 29 08:43:39 2014 -0700 @@ -164,7 +164,7 @@ return self.copy() files = match.files() - if (len(files) < 100 and (match.matchfn == match.exact or + if (len(files) < 100 and (match.isexact() or (not match.anypats() and util.all(fn in self for fn in files)))): return self.intersectfiles(files) @@ -519,7 +519,7 @@ return self.copy() files = match.files() - if (match.matchfn == match.exact or + if (match.isexact() or (not match.anypats() and util.all(fn in self for fn in files))): return self.intersectfiles(files)