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( 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