changeset 26968:216cc65cf227

pull: return 255 value on update failure (issue4948) (BC) Before this patch hg pull -u on UpdateAbort error returned 0 value to the system. This patch fixes this by reraising UpdateAbort with updated error msg.
author liscju <piotr.listkiewicz@gmail.com>
date Sun, 15 Nov 2015 22:58:28 +0100
parents 7a8e9a985c3b
children b54b520a24c2
files mercurial/commands.py tests/test-issue1502.t tests/test-pull-update.t
diffstat 3 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Nov 11 10:19:11 2015 -0800
+++ b/mercurial/commands.py	Sun Nov 15 22:58:28 2015 +0100
@@ -5227,10 +5227,9 @@
                 checkout, movemarkfrom, brev = updata
             ret = hg.update(repo, checkout)
         except error.UpdateAbort as inst:
-            ui.warn(_("not updating: %s\n") % str(inst))
-            if inst.hint:
-                ui.warn(_("(%s)\n") % inst.hint)
-            return 0
+            msg = _("not updating: %s") % str(inst)
+            hint = inst.hint
+            raise error.UpdateAbort(msg, hint=hint)
         if not ret and not checkout:
             if bookmarks.update(repo, [movemarkfrom], repo['.'].node()):
                 ui.status(_("updating bookmark %s\n") % repo._activebookmark)
--- a/tests/test-issue1502.t	Wed Nov 11 10:19:11 2015 -0800
+++ b/tests/test-issue1502.t	Sun Nov 15 22:58:28 2015 +0100
@@ -19,8 +19,9 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  not updating: not a linear update
+  abort: not updating: not a linear update
   (merge or update --check to force update)
+  [255]
 
   $ hg -R foo1 book branchy
   $ hg -R foo1 book
--- a/tests/test-pull-update.t	Wed Nov 11 10:19:11 2015 -0800
+++ b/tests/test-pull-update.t	Sun Nov 15 22:58:28 2015 +0100
@@ -25,8 +25,9 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  not updating: not a linear update
+  abort: not updating: not a linear update
   (merge or update --check to force update)
+  [255]
 
   $ cd ../tt
 
@@ -39,8 +40,9 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  not updating: not a linear update
+  abort: not updating: not a linear update
   (merge or update --check to force update)
+  [255]
 
   $ HGMERGE=true hg merge
   merging foo