diff -r b2fa1591fb44 -r 8cea0d57bf37 mercurial/httppeer.py --- a/mercurial/httppeer.py Fri Apr 13 12:31:56 2018 -0700 +++ b/mercurial/httppeer.py Thu Apr 12 13:08:33 2018 -0700 @@ -763,6 +763,14 @@ f.set_result(result) del results[request.requestid] + elif action == 'error': + e = error.RepoError(meta['message']) + + if f: + f.set_exception(e) + else: + raise e + else: e = error.ProgrammingError('unhandled action: %s' % action)