diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -5678,7 +5678,7 @@ def resolve(ui, repo, *pats, **opts): # for files in tocomplete, ms.resolve will not overwrite # .orig -- only preresolve does try: - util.rename(a + ".resolve", a + ".orig") + util.rename(a + ".resolve", cmdutil.origpath(ui, repo, a)) except OSError as inst: if inst.errno != errno.ENOENT: raise diff --git a/tests/test-resolve.t b/tests/test-resolve.t --- a/tests/test-resolve.t +++ b/tests/test-resolve.t @@ -197,6 +197,18 @@ resolve --all should re-merge all unreso $ cat file2.orig foo baz + +.orig files should exists where specified + $ hg resolve --all --verbose --config 'ui.origbackuppath=.hg/origbackups' + merging file1 + creating directory: $TESTTMP/repo/.hg/origbackups + merging file2 + warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') + warning: conflicts while merging file2! (edit, then use 'hg resolve --mark') + [1] + $ ls .hg/origbackups + file1.orig + file2.orig $ grep '<<<' file1 > /dev/null $ grep '<<<' file2 > /dev/null