merge: use manifestdict.walk() instead of manifestdict.matches()
authorAugie Fackler <augie@google.com>
Wed, 05 Feb 2020 17:12:39 -0500
changeset 44287 e76d98546bd2
parent 44286 bbecb6d80aa7
child 44288 cd8f248fead4
merge: use manifestdict.walk() instead of manifestdict.matches() As with other patches in this series, this avoids making a potentially-expensive copy of a manifest. Differential Revision: https://phab.mercurial-scm.org/D8084
mercurial/merge.py
--- a/mercurial/merge.py	Wed Feb 05 16:58:50 2020 -0500
+++ b/mercurial/merge.py	Wed Feb 05 17:12:39 2020 -0500
@@ -997,11 +997,10 @@
     """
     Check for case-folding collisions.
     """
-
     # If the repo is narrowed, filter out files outside the narrowspec.
     narrowmatch = repo.narrowmatch()
     if not narrowmatch.always():
-        wmf = wmf.matches(narrowmatch)
+        pmmf = set(wmf.walk(narrowmatch))
         if actions:
             narrowactions = {}
             for m, actionsfortype in pycompat.iteritems(actions):
@@ -1010,9 +1009,9 @@
                     if narrowmatch(f):
                         narrowactions[m].append((f, args, msg))
             actions = narrowactions
-
-    # build provisional merged manifest up
-    pmmf = set(wmf)
+    else:
+        # build provisional merged manifest up
+        pmmf = set(wmf)
 
     if actions:
         # KEEP and EXEC are no-op