diff -r b36c60cfe46f -r d7f25834ffbb mercurial/filemerge.py --- a/mercurial/filemerge.py Mon Aug 04 16:58:39 2014 -0700 +++ b/mercurial/filemerge.py Mon Aug 04 16:32:41 2014 -0700 @@ -178,7 +178,7 @@ ui = repo.ui - validkeep = ['keep'] + validkeep = ['keep', 'keep-merge3'] # do we attempt to simplemerge first? try: @@ -192,6 +192,11 @@ (tool, premerge, _valid)) if premerge: + if premerge == 'keep-merge3': + if not labels: + labels = _defaultconflictlabels + if len(labels) < 3: + labels.append('base') r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) if not r: ui.debug(" premerge successful\n")