diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -904,7 +904,9 @@ def _pushbundle2(pushop): raise error.Abort(_('missing support for %s') % exc) except bundle2.AbortFromPart as exc: pushop.ui.status(_('remote: %s\n') % exc) - raise error.Abort(_('push failed on remote'), hint=exc.hint) + if exc.hint is not None: + pushop.ui.status(_('remote: %s\n') % ('(%s)' % exc.hint)) + raise error.Abort(_('push failed on remote')) except error.PushkeyFailed as exc: partid = int(exc.partid) if partid not in pushop.pkfailcb: diff --git a/tests/test-bundle2-exchange.t b/tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t +++ b/tests/test-bundle2-exchange.t @@ -518,16 +518,16 @@ Doing the actual push: Abort error pushing to ssh://user@dummy/other searching for changes remote: Abandon ship! + remote: (don't panic) 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 remote: Abandon ship! + remote: (don't panic) abort: push failed on remote - (don't panic) [255]