treemanifest: avoid unnecessary copies/processing when using alwaysmatcher
authorKyle Lippincott <spectral@google.com>
Thu, 23 Aug 2018 00:34:25 -0700
changeset 39517 8798be5f04fc
parent 39516 079d7bfa463d
child 39518 c29548ba4a75
treemanifest: avoid unnecessary copies/processing when using alwaysmatcher Differential Revision: https://phab.mercurial-scm.org/D4368
mercurial/manifest.py
--- a/mercurial/manifest.py	Thu Aug 23 00:33:06 2018 -0700
+++ b/mercurial/manifest.py	Thu Aug 23 00:34:25 2018 -0700
@@ -940,7 +940,7 @@
 
     def filesnotin(self, m2, match=None):
         '''Set of files in this manifest that are not in the other'''
-        if match:
+        if match and not match.always():
             m1 = self.matches(match)
             m2 = m2.matches(match)
             return m1.filesnotin(m2)
@@ -1085,7 +1085,7 @@
         the nodeid will be None and the flags will be the empty
         string.
         '''
-        if match:
+        if match and not match.always():
             m1 = self.matches(match)
             m2 = m2.matches(match)
             return m1.diff(m2, clean=clean)