--- a/mercurial/wireprotov2peer.py Thu Aug 23 13:50:47 2018 -0700
+++ b/mercurial/wireprotov2peer.py Wed Sep 05 09:04:40 2018 -0700
@@ -27,7 +27,7 @@
msg = _(atom[b'msg'])
if b'args' in atom:
- msg = msg % atom[b'args']
+ msg = msg % tuple(atom[b'args'])
chunks.append(msg)
@@ -163,8 +163,10 @@
if overall['status'] == 'ok':
self._futures[frame.requestid].set_result(decoder(objs))
else:
- e = error.RepoError(
- formatrichmessage(overall['error']['message']))
+ atoms = [{'msg': overall['error']['message']}]
+ if 'args' in overall['error']:
+ atoms[0]['args'] = overall['error']['args']
+ e = error.RepoError(formatrichmessage(atoms))
self._futures[frame.requestid].set_exception(e)
else:
self._futures[frame.requestid].set_result(response)