[PATCH] merge/resolve: better error messages to lead users to hg update --clean to abandon merges
Augie Fackler
durin42 at gmail.com
Wed Mar 4 13:54:46 CST 2009
# HG changeset patch
# User Augie Fackler <durin42 at gmail.com>
# Date 1236193576 21600
# Node ID 30346faba5d636bb66844ffb1bbaa38e7b87616c
# Parent b136c6c5c1c71bd7331ce3ee01fe99ca5329a7f3
merge/resolve: better error messages to lead users to hg update --clean to abandon merges.
Fixes issue1533.
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2411,7 +2411,8 @@
parent, p2 = repo.dirstate.parents()
if not opts.get('rev') and p2 != nullid:
raise util.Abort(_('uncommitted merge - please provide a '
- 'specific revision'))
+ 'specific revision\nor abandon'
+ " the merge with 'hg up --clean'"))
ctx = repo[opts.get('rev')]
node = ctx.node()
mf = ctx.manifest()
diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -274,7 +274,8 @@
stats = _merge.update(repo, node, True, force, False)
_showstats(repo, stats)
if stats[3]:
- repo.ui.status(_("use 'hg resolve' to retry unresolved file merges\n"))
+ repo.ui.status(_("use 'hg resolve' to retry unresolved file merges "
+ "or 'hg up --clean' to abandon\n"))
elif remind:
repo.ui.status(_("(branch merge, don't forget to commit)\n"))
return stats[3] > 0
diff --git a/tests/test-add.out b/tests/test-add.out
--- a/tests/test-add.out
+++ b/tests/test-add.out
@@ -18,7 +18,7 @@
warning: conflicts during merge.
merging a failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
M a
? a.orig
% should fail
diff --git a/tests/test-commit-unresolved.out b/tests/test-commit-unresolved.out
--- a/tests/test-commit-unresolved.out
+++ b/tests/test-commit-unresolved.out
@@ -6,7 +6,7 @@
warning: conflicts during merge.
merging A failed!
1 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
% Correct the conflict without marking the file as resolved
abort: unresolved merge conflicts (see hg resolve)
diff --git a/tests/test-conflict.out b/tests/test-conflict.out
--- a/tests/test-conflict.out
+++ b/tests/test-conflict.out
@@ -4,7 +4,7 @@
warning: conflicts during merge.
merging a failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
e7fe8eb3e180+0d24b7662d3e+ tip
<<<<<<< local
something else
diff --git a/tests/test-confused-revert.out b/tests/test-confused-revert.out
--- a/tests/test-confused-revert.out
+++ b/tests/test-confused-revert.out
@@ -19,6 +19,7 @@
R a
%%% revert should fail
abort: uncommitted merge - please provide a specific revision
+or abandon the merge with 'hg up --clean'
%%% revert should be ok now
undeleting a
forgetting b
diff --git a/tests/test-convert-svn-sink.out b/tests/test-convert-svn-sink.out
--- a/tests/test-convert-svn-sink.out
+++ b/tests/test-convert-svn-sink.out
@@ -265,7 +265,7 @@
warning: conflicts during merge.
merging b failed!
2 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
assuming destination b-hg
initializing svn repo 'b-hg'
initializing svn wc 'b-hg-wc'
diff --git a/tests/test-keyword.out b/tests/test-keyword.out
--- a/tests/test-keyword.out
+++ b/tests/test-keyword.out
@@ -458,7 +458,7 @@
warning: conflicts during merge.
merging m failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
% keyword stays outside conflict zone
$Id$
<<<<<<< local
diff --git a/tests/test-merge-internal-tools-pattern.out b/tests/test-merge-internal-tools-pattern.out
--- a/tests/test-merge-internal-tools-pattern.out
+++ b/tests/test-merge-internal-tools-pattern.out
@@ -9,7 +9,7 @@
created new head
# merge using internal:fail tool
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
line 1
line 2
third line
diff --git a/tests/test-merge-tools.out b/tests/test-merge-tools.out
--- a/tests/test-merge-tools.out
+++ b/tests/test-merge-tools.out
@@ -17,7 +17,7 @@
warning: conflicts during merge.
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
<<<<<<< local
revision 1
@@ -37,7 +37,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -69,7 +69,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -86,7 +86,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -103,7 +103,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -120,7 +120,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -185,7 +185,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -204,7 +204,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -223,7 +223,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
@@ -385,7 +385,7 @@
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
# cat f
revision 1
space
diff --git a/tests/test-merge7.out b/tests/test-merge7.out
--- a/tests/test-merge7.out
+++ b/tests/test-merge7.out
@@ -11,7 +11,7 @@
warning: conflicts during merge.
merging test.txt failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
pulling from ../test-a
searching for changes
adding changesets
@@ -31,7 +31,7 @@
warning: conflicts during merge.
merging test.txt failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
one
<<<<<<< local
two-point-five
diff --git a/tests/test-merge9.out b/tests/test-merge9.out
--- a/tests/test-merge9.out
+++ b/tests/test-merge9.out
@@ -7,7 +7,7 @@
merging bar failed!
merging foo and baz to baz
1 files updated, 1 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
U bar
R baz
3 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -15,7 +15,7 @@
merging bar failed!
merging baz and foo to baz
1 files updated, 1 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
% show unresolved
U bar
R baz
diff --git a/tests/test-resolve.out b/tests/test-resolve.out
--- a/tests/test-resolve.out
+++ b/tests/test-resolve.out
@@ -4,5 +4,5 @@
created new head
% failing merge
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
-use 'hg resolve' to retry unresolved file merges
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
% resolve -l, should be empty
More information about the Mercurial-devel
mailing list