mercurial/merge.py
changeset 38045 18e6ea9ba81d
parent 38044 8f37b5fc5abf
child 38345 bec1212eceaa
--- a/mercurial/merge.py	Thu May 17 15:12:48 2018 -0700
+++ b/mercurial/merge.py	Thu May 17 15:25:52 2018 -0700
@@ -903,6 +903,23 @@
     return actions
 
 def _checkcollision(repo, wmf, actions):
+    """
+    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)
+        if actions:
+            narrowactions = {}
+            for m, actionsfortype in actions.iteritems():
+                narrowactions[m] = []
+                for (f, args, msg) in actionsfortype:
+                    if narrowmatch(f):
+                        narrowactions[m].append((f, args, msg))
+            actions = narrowactions
+
     # build provisional merged manifest up
     pmmf = set(wmf)