mercurial/bundle2.py
changeset 21623 5b26d82e4e2a
parent 21622 457492741007
child 21624 d61066d787c8
--- 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'])