diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -4912,7 +4912,7 @@ if hasconflictmarkers: ui.warn(_('warning: the following files still have conflict ' 'markers:\n ') + '\n '.join(hasconflictmarkers) + '\n') - if markcheck == 'abort' and not all: + if markcheck == 'abort' and not all and not pats: raise error.Abort(_('conflict markers detected'), hint=_('use --all to mark anyway')) diff --git a/tests/test-resolve.t b/tests/test-resolve.t --- a/tests/test-resolve.t +++ b/tests/test-resolve.t @@ -445,6 +445,19 @@ $ hg resolve -l R file1 R file2 +Test with marking an explicit file as resolved, this should not abort (since +there's no --force flag, we have no way of combining --all with a filename) + $ hg resolve --unmark + $ hg resolve -l + U file1 + U file2 +(This downgrades to a warning since an explicit file was specified). + $ hg --config commands.resolve.mark-check=abort resolve -m file2 + warning: the following files still have conflict markers: + file2 + $ hg resolve -l + U file1 + R file2 Testing the --re-merge flag $ hg resolve --unmark file1 $ hg resolve -l