# HG changeset patch
# User Pierre-Yves David <pierre-yves.da...@ens-lyon.org>
# Date 1491225382 -7200
#      Mon Apr 03 15:16:22 2017 +0200
# Node ID 32116e1ad0d93b48d344f317899b974628310850
# Parent  2632df096fc0ac7582382b1f94ea4b9ad0bce8f2
# EXP-Topic update.mergehint
# Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/
#              hg pull 
https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 32116e1ad0d9
update: add a hint when aborting for uncommitted changes

Plain abort is a bit frustrating for the user. We now point at the '--merge' 
option
in the hint. This is similar to what evolve 'next' and 'prev' do. Not that
evolution use a more direct hint "(do you want --merge)", but it might be a bit
too error prone for new user.

diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -761,7 +761,8 @@ def updatetotally(ui, repo, checkout, br
             ret = _clean(repo, checkout)
         else:
             if updatecheck == 'abort':
-                cmdutil.bailifchanged(repo, merge=False)
+                hint = _('to merge these changes with destination, use 
--merge')
+                cmdutil.bailifchanged(repo, merge=False, hint=hint)
                 updatecheck = 'none'
             ret = _update(repo, checkout, updatecheck=updatecheck)
 
diff --git a/tests/test-merge5.t b/tests/test-merge5.t
--- a/tests/test-merge5.t
+++ b/tests/test-merge5.t
@@ -16,6 +16,7 @@
   $ rm b
   $ hg update -c 2
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   [255]
   $ hg revert b
   $ hg update -c 2
diff --git a/tests/test-pull-update.t b/tests/test-pull-update.t
--- a/tests/test-pull-update.t
+++ b/tests/test-pull-update.t
@@ -27,6 +27,7 @@ Should respect config to disable dirty u
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   [255]
   $ hg --config extensions.strip= strip --no-backup tip
   $ hg co -qC tip
diff --git a/tests/test-update-branches.t b/tests/test-update-branches.t
--- a/tests/test-update-branches.t
+++ b/tests/test-update-branches.t
@@ -157,6 +157,7 @@ Cases are run as shown in that table, ro
 
   $ revtest '-c dirty linear'   dirty 1 2 -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
@@ -172,6 +173,7 @@ Cases are run as shown in that table, ro
 
   $ revtest '-c dirtysub linear'   dirtysub 1 2 -c
   abort: uncommitted changes in subrepository 'sub'
+  (to merge these changes with destination, use --merge)
   parent=1
   M sub/suba
 
@@ -200,11 +202,13 @@ Cases are run as shown in that table, ro
 
   $ revtest 'none dirty linear' dirty 1 2
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
   $ revtest 'none dirty linear' dirty 1 2 -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
@@ -226,6 +230,7 @@ Cases are run as shown in that table, ro
 
   $ revtest 'none dirty linear' dirty 1 2 -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
@@ -269,6 +274,7 @@ Cases are run as shown in that table, ro
 
   $ revtest 'none dirty linear' dirty 1 2 -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
@@ -323,6 +329,7 @@ Uses default value of "linear" when valu
 Setup for later tests
   $ revtest 'none dirty linear' dirty 1 2 -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   parent=1
   M foo
 
@@ -560,6 +567,7 @@ Test that boolean flags allow --no-flag 
   > EOF
   $ hg co 2
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   [255]
   $ hg co --no-check 2
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
diff --git a/tests/test-update-issue1456.t b/tests/test-update-issue1456.t
--- a/tests/test-update-issue1456.t
+++ b/tests/test-update-issue1456.t
@@ -19,6 +19,7 @@ Test that local removed/deleted, remote 
   $ echo dirty > foo
   $ hg up -c
   abort: uncommitted changes
+  (to merge these changes with destination, use --merge)
   [255]
   $ hg up -q
   $ cat foo
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to