--- a/mercurial/bundle2.py Fri Jun 05 13:31:18 2015 -0700
+++ b/mercurial/bundle2.py Wed May 27 23:48:54 2015 -0700
@@ -1330,8 +1330,11 @@
rpart.addparam('in-reply-to', str(inpart.id), mandatory=False)
rpart.addparam('return', '%i' % ret, mandatory=False)
if inpart.mandatory and not ret:
- raise util.Abort(_('failed to update value for "%s/%s"')
- % (namespace, key))
+ kwargs = {}
+ for key in ('namespace', 'key', 'new', 'old', 'ret'):
+ if key in inpart.params:
+ kwargs[key] = inpart.params[key]
+ raise error.PushkeyFailed(partid=str(inpart.id), **kwargs)
@parthandler('reply:pushkey', ('return', 'in-reply-to'))
def handlepushkeyreply(op, inpart):