mercurial/filemerge.py
changeset 22028 3d0572ab3b4a
parent 22027 b98e5c7afc70
child 22031 b36c60cfe46f
--- a/mercurial/filemerge.py	Tue Aug 05 15:09:54 2014 -0700
+++ b/mercurial/filemerge.py	Tue Aug 05 14:58:45 2014 -0700
@@ -223,6 +223,21 @@
         return True, r
     return False, 0
 
+@internaltool('merge3', True,
+              _("merging %s incomplete! "
+                "(edit conflicts, then use 'hg resolve --mark')\n"))
+def _imerge3(repo, mynode, orig, fcd, fco, fca, toolconf, files, labels=None):
+    """
+    Uses the internal non-interactive simple merge algorithm for merging
+    files. It will fail if there are any conflicts and leave markers in
+    the partially merged file. Marker will have three sections, one from each
+    side of the merge and one for the base content."""
+    if not labels:
+        labels = _defaultconflictlabels
+    if len(labels) < 3:
+        labels.append('base')
+    return _imerge(repo, mynode, orig, fcd, fco, fca, toolconf, files, labels)
+
 @internaltool('tagmerge', True,
               _("automatic tag merging of %s failed! "
                 "(use 'hg resolve --tool internal:merge' or another merge "