diff mercurial/simplemerge.py @ 48509:5151b0f6519e

simplemerge: make `localorother` a "mode" instead of a separate thing `simplemerge()` takes a `mode` argument, which can be "union", "merge" or "mergediff", and a `localorother` argument, which can be `None`, "local", or "other". The two options are not at all orthogonal -- most combinations don't make sense. Also, at least "union", "local", and "other" are very closely related. Therefore, it makes sense to combine them into one. It probably makes sense to split the `mode` argument into `resolve` and `marker_style`, where the former can be `None`, "union", "local", or "other", and the latter can be "merge", "merge3", "mergediff", or "minimize". This is a good step in that direction whether or not we end up doing that. Differential Revision: https://phab.mercurial-scm.org/D11887
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 07 Dec 2021 17:48:50 -0800
parents fa159bb463e6
children fb691fa90807
line wrap: on
line diff
--- a/mercurial/simplemerge.py	Tue Dec 07 14:11:58 2021 -0800
+++ b/mercurial/simplemerge.py	Tue Dec 07 17:48:50 2021 -0800
@@ -516,13 +516,17 @@
 
     m3 = Merge3Text(basetext, localtext, othertext)
     extrakwargs = {
-        "localorother": opts.get("localorother", None),
+        "localorother": None,
         'minimize': True,
     }
     if mode == b'union':
         extrakwargs['start_marker'] = None
         extrakwargs['mid_marker'] = None
         extrakwargs['end_marker'] = None
+    elif mode == b'local':
+        extrakwargs['localorother'] = b'local'
+    elif mode == b'other':
+        extrakwargs['localorother'] = b'other'
     elif name_base is not None:
         extrakwargs['base_marker'] = b'|||||||'
         extrakwargs['name_base'] = name_base