mercurial/manifest.py
changeset 24666 3092885b5b32
parent 24665 5326820a2952
child 24667 19c5b0913960
--- a/mercurial/manifest.py	Wed Apr 08 10:03:59 2015 -0700
+++ b/mercurial/manifest.py	Wed Apr 08 10:01:31 2015 -0700
@@ -198,17 +198,6 @@
     def keys(self):
         return list(self.iterkeys())
 
-    def _intersectfiles(self, files):
-        '''make a new lazymanifest with the intersection of self with files
-
-        The algorithm assumes that files is much smaller than self.'''
-        ret = manifestdict()
-        lm = self._lm
-        for fn in files:
-            if fn in lm:
-                ret._lm[fn] = lm[fn]
-        return ret
-
     def filesnotin(self, m2):
         '''Set of files in this manifest that are not in the other'''
         files = set(self)
@@ -265,7 +254,12 @@
         files = match.files()
         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)
+            m = manifestdict()
+            lm = self._lm
+            for fn in match.files():
+                if fn in lm:
+                    m._lm[fn] = lm[fn]
+            return m
 
         m = manifestdict('')
         m._lm = self._lm.filtercopy(match)