[Updated] D11887: simplemerge: make `localorother` a "mode" instead of a separate thing
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Dec 20 09:37:15 UTC 2021
Closed by commit rHG5151b0f6519e: simplemerge: make `localorother` a "mode" instead of a separate thing (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11887?vs=31487&id=31548
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11887/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11887
AFFECTED FILES
mercurial/filemerge.py
mercurial/simplemerge.py
CHANGE DETAILS
diff --git a/mercurial/simplemerge.py b/mercurial/simplemerge.py
--- a/mercurial/simplemerge.py
+++ b/mercurial/simplemerge.py
@@ -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
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -579,43 +579,24 @@
)
-def _imergeauto(
- repo,
- mynode,
- fcd,
- fco,
- fca,
- toolconf,
- backup,
- labels=None,
- localorother=None,
-):
- """
- Generic driver for _imergelocal and _imergeother
- """
- assert localorother is not None
- r = simplemerge.simplemerge(
- repo.ui, fcd, fca, fco, label=labels, localorother=localorother
- )
- return True, r
-
-
@internaltool(b'merge-local', mergeonly, precheck=_mergecheck)
-def _imergelocal(*args, **kwargs):
+def _imergelocal(repo, mynode, fcd, fco, fca, toolconf, backup, labels=None):
"""
Like :merge, but resolve all conflicts non-interactively in favor
of the local `p1()` changes."""
- success, status = _imergeauto(localorother=b'local', *args, **kwargs)
- return success, status, False
+ return _merge(
+ repo, mynode, fcd, fco, fca, toolconf, backup, labels, b'local'
+ )
@internaltool(b'merge-other', mergeonly, precheck=_mergecheck)
-def _imergeother(*args, **kwargs):
+def _imergeother(repo, mynode, fcd, fco, fca, toolconf, backup, labels=None):
"""
Like :merge, but resolve all conflicts non-interactively in favor
of the other `p2()` changes."""
- success, status = _imergeauto(localorother=b'other', *args, **kwargs)
- return success, status, False
+ return _merge(
+ repo, mynode, fcd, fco, fca, toolconf, backup, labels, b'other'
+ )
@internaltool(
To: martinvonz, #hg-reviewers, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20211220/8ef76d57/attachment-0002.html>
More information about the Mercurial-patches
mailing list