diff tests/test-bundle2-exchange.t @ 26829:58f1645f72c3 stable

bundle2: attribute remote failures to remote (issue4788) Before bundle2, hook output from hook failures was prefixed with "remote: ". Up to this point with bundle2, the output was converted to the message to print in an Abort exception. This had 2 implications: 1) It was unclear whether an error message came from the local repo or the remote 2) The exit code changed from 1 to 255 This patch changes the handling of error:abort bundle2 parts during push to prefix the error message with "remote: ". This restores the old behavior. We still preserve the behavior of raising an Abort during bundle2 application failure. This is a regression from pre-bundle2 because the exit code changed. Because we no longer raise an Abort with the remote's message, we needed to insert a message for the new Abort. So, I invented a new error message for that. This is another change from pre-bundle2. However, I like the new error message because it states unambiguously who aborted the push failed, which I think is important for users so they can decide what's next.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 24 Oct 2015 00:39:22 +0100
parents 56b2bcea2529
children b288fb2724bf
line wrap: on
line diff
--- a/tests/test-bundle2-exchange.t	Sat Oct 24 00:39:26 2015 +0100
+++ b/tests/test-bundle2-exchange.t	Sat Oct 24 00:39:22 2015 +0100
@@ -518,14 +518,16 @@
   $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
   pushing to ssh://user@dummy/other
   searching for changes
-  abort: Abandon ship!
+  remote: Abandon ship!
+  abort: push failed on remote
   (don't panic)
   [255]
 
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
   searching for changes
-  abort: Abandon ship!
+  remote: Abandon ship!
+  abort: push failed on remote
   (don't panic)
   [255]
 
@@ -624,7 +626,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnclose.failpush hook exited with status 1
+  remote: pretxnclose.failpush hook exited with status 1
+  abort: push failed on remote
   [255]
 
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
@@ -639,7 +642,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnclose.failpush hook exited with status 1
+  remote: pretxnclose.failpush hook exited with status 1
+  abort: push failed on remote
   [255]
 
 (check that no 'pending' files remain)
@@ -684,7 +688,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
@@ -697,7 +702,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
 
 Check output capture control.
@@ -733,7 +739,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
@@ -746,7 +753,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
 
 Check abort from mandatory pushkey
@@ -928,7 +936,8 @@
   $ hg push
   pushing to ssh://user@dummy/lazylock
   searching for changes
-  abort: Lock should not be taken
+  remote: Lock should not be taken
+  abort: push failed on remote
   [255]
 
   $ cat >> ../lazylock/.hg/hgrc <<EOF