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.
Showing
- mercurial/bundle2.py 5 additions, 1 deletionmercurial/bundle2.py
- mercurial/exchange.py 3 additions, 0 deletionsmercurial/exchange.py
- tests/test-bundle2-exchange.t 18 additions, 9 deletionstests/test-bundle2-exchange.t
- tests/test-ssh-bundle1.t 2 additions, 1 deletiontests/test-ssh-bundle1.t
- tests/test-ssh.t 4 additions, 2 deletionstests/test-ssh.t
Loading
Please register or sign in to comment