diff -r 00e75baa810f -r 58f1645f72c3 mercurial/bundle2.py --- a/mercurial/bundle2.py Sat Oct 24 00:39:26 2015 +0100 +++ b/mercurial/bundle2.py Sat Oct 24 00:39:22 2015 +0100 @@ -1408,10 +1408,14 @@ if op.reply is None: op.reply = bundle20(op.ui, caps) +class AbortFromPart(error.Abort): + """Sub-class of Abort that denotes an error from a bundle2 part.""" + @parthandler('error:abort', ('message', 'hint')) def handleerrorabort(op, inpart): """Used to transmit abort error over the wire""" - raise error.Abort(inpart.params['message'], hint=inpart.params.get('hint')) + raise AbortFromPart(inpart.params['message'], + hint=inpart.params.get('hint')) @parthandler('error:pushkey', ('namespace', 'key', 'new', 'old', 'ret', 'in-reply-to'))