diff -r 3092885b5b32 -r 19c5b0913960 mercurial/manifest.py --- a/mercurial/manifest.py Wed Apr 08 10:01:31 2015 -0700 +++ b/mercurial/manifest.py Tue Apr 07 22:35:44 2015 -0700 @@ -225,11 +225,10 @@ fset = set(match.files()) # avoid the entire walk if we're only looking for specific files - if fset and not match.anypats(): - if util.all(fn in self for fn in fset): - for fn in sorted(fset): - yield fn - raise StopIteration + if fset and not match.anypats() and util.all(fn in self for fn in fset): + for fn in sorted(fset): + yield fn + raise StopIteration for fn in self: if fn in fset: