diff mercurial/filemerge.py @ 46140:3ca5ca380a34

filemerge: add support for the new "mergediff" marker style to premerge This adds support for the new "mergediff" conflict marker style to "merge-tools.<tool>.premerge" (the new value is called "keep-mergediff"). Differential Revision: https://phab.mercurial-scm.org/D9606
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 14 Dec 2020 18:09:37 -0800
parents bdc2bf68f19e
children 0c95b59a89f1
line wrap: on
line diff
--- a/mercurial/filemerge.py	Mon Dec 14 14:31:15 2020 +0100
+++ b/mercurial/filemerge.py	Mon Dec 14 18:09:37 2020 -0800
@@ -408,7 +408,7 @@
 
     ui = repo.ui
 
-    validkeep = [b'keep', b'keep-merge3']
+    validkeep = [b'keep', b'keep-merge3', b'keep-mergediff']
 
     # do we attempt to simplemerge first?
     try:
@@ -423,12 +423,17 @@
             )
 
     if premerge:
-        if premerge == b'keep-merge3':
+        mode = b'merge'
+        if premerge in {b'keep-merge3', b'keep-mergediff'}:
             if not labels:
                 labels = _defaultconflictlabels
             if len(labels) < 3:
                 labels.append(b'base')
-        r = simplemerge.simplemerge(ui, fcd, fca, fco, quiet=True, label=labels)
+            if premerge == b'keep-mergediff':
+                mode = b'mergediff'
+        r = simplemerge.simplemerge(
+            ui, fcd, fca, fco, quiet=True, label=labels, mode=mode
+        )
         if not r:
             ui.debug(b" premerge successful\n")
             return 0