--- a/mercurial/bundle2.py Wed May 28 15:57:23 2014 -0700
+++ b/mercurial/bundle2.py Tue May 27 11:49:48 2014 -0700
@@ -174,7 +174,7 @@
parthandlermapping = {}
-def parthandler(parttype):
+def parthandler(parttype, params=()):
"""decorator that register a function as a bundle2 part handler
eg::
@@ -188,6 +188,7 @@
lparttype = parttype.lower() # enforce lower case matching.
assert lparttype not in parthandlermapping
parthandlermapping[lparttype] = func
+ func.params = frozenset(params)
return func
return _decorator
@@ -839,7 +840,7 @@
raise error.BundleValueError(**kwargs)
-@parthandler('b2x:error:pushraced')
+@parthandler('b2x:error:pushraced', ('message',))
def handlereplycaps(op, inpart):
"""Used to transmit push race error over the wire"""
raise error.ResponseError(_('push failed:'), inpart.params['message'])