prepush: print short hash of first new head in abort message
and don't mention the branch if it's the default branch.
OLD:
$ hg push ../a
pushing to ../a
searching for changes
abort: push creates new remote heads on branch 'default'!
(you should pull and merge or use push -f to force)
NEW:
$ hg push ../a
pushing to ../a
searching for changes
abort: push creates new remote head
1e108cc5548c!
(you should pull and merge or use push -f to force)
This helps to identify which local head is causing troubles.
See also change
91cb08a9e7fb.
--- a/mercurial/discovery.py Fri Jun 03 11:26:43 2011 +0200
+++ b/mercurial/discovery.py Fri Jun 03 12:16:17 2011 +0200
@@ -159,9 +159,14 @@
newhs = set(newmap[branch])
oldhs = set(oldmap[branch])
if len(newhs) > len(oldhs):
+ dhs = list(newhs - oldhs)
if error is None:
- error = _("push creates new remote heads "
- "on branch '%s'!") % branch
+ if branch != 'default':
+ error = _("push creates new remote head %s "
+ "on branch '%s'!") % (short(dhs[0]), branch)
+ else:
+ error = _("push creates new remote head %s!"
+ ) % short(dhs[0])
if branch in unsynced:
hint = _("you should pull and merge or "
"use push -f to force")
@@ -169,7 +174,7 @@
hint = _("did you forget to merge? "
"use push -f to force")
repo.ui.debug("new remote heads on branch '%s'\n" % branch)
- for h in (newhs - oldhs):
+ for h in dhs:
repo.ui.debug("new remote head %s\n" % short(h))
if error:
raise util.Abort(error, hint=hint)
--- a/tests/test-push-warn.t Fri Jun 03 11:26:43 2011 +0200
+++ b/tests/test-push-warn.t Fri Jun 03 12:16:17 2011 +0200
@@ -25,7 +25,7 @@
$ hg push ../a
pushing to ../a
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 1e108cc5548c!
(you should pull and merge or use push -f to force)
[255]
@@ -39,7 +39,7 @@
2 total queries
new remote heads on branch 'default'
new remote head 1e108cc5548c
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 1e108cc5548c!
(you should pull and merge or use push -f to force)
[255]
@@ -55,7 +55,7 @@
$ hg push ../a
pushing to ../a
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 1e108cc5548c!
(did you forget to merge? use push -f to force)
[255]
@@ -108,7 +108,7 @@
$ hg push ../c
pushing to ../c
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 6346d66eb9f5!
(did you forget to merge? use push -f to force)
[255]
@@ -120,14 +120,14 @@
$ hg push -r 3 ../c
pushing to ../c
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head a5dda829a167!
(did you forget to merge? use push -f to force)
[255]
$ hg push -r 3 -r 4 ../c
pushing to ../c
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head a5dda829a167!
(did you forget to merge? use push -f to force)
[255]
@@ -256,7 +256,7 @@
$ hg push -r 4 -r 7 ../f
pushing to ../f
searching for changes
- abort: push creates new remote heads on branch 'a'!
+ abort: push creates new remote head 0b715ef6ff8f on branch 'a'!
(did you forget to merge? use push -f to force)
[255]
@@ -379,7 +379,7 @@
$ hg -R i push h
pushing to h
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 97bd0c84d346!
(you should pull and merge or use push -f to force)
[255]
@@ -449,7 +449,7 @@
$ hg push ../l -b b
pushing to ../l
searching for changes
- abort: push creates new remote heads on branch 'a'!
+ abort: push creates new remote head e7e31d71180f on branch 'a'!
(did you forget to merge? use push -f to force)
[255]
@@ -696,14 +696,14 @@
$ hg push inner
pushing to inner
searching for changes
- abort: push creates new remote heads on branch 'A'!
+ abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'!
(did you forget to merge? use push -f to force)
[255]
$ hg push inner -r4 -r5
pushing to inner
searching for changes
- abort: push creates new remote heads on branch 'A'!
+ abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'!
(did you forget to merge? use push -f to force)
[255]
--- a/tests/test-subrepo.t Fri Jun 03 11:26:43 2011 +0200
+++ b/tests/test-subrepo.t Fri Jun 03 12:16:17 2011 +0200
@@ -289,7 +289,7 @@
no changes found
pushing subrepo s to $TESTTMP/sub/t/s
searching for changes
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 12a213df6fa9!
(did you forget to merge? use push -f to force)
[255]
$ hg push -f
@@ -562,7 +562,7 @@
$ hg -R repo2 ci -m3
committing subrepository s
$ hg -q -R repo2 push
- abort: push creates new remote heads on branch 'default'!
+ abort: push creates new remote head 9d66565e64e1!
(did you forget to merge? use push -f to force)
[255]
$ hg -R repo update