bundle: introduce a listkey handler
authorPierre-Yves David <pierre-yves.david@fb.com>
Tue, 27 May 2014 15:42:03 -0700
changeset 21655 35095f332846
parent 21654 ddf9a00c1239
child 21656 36200dc6b3bd
bundle: introduce a listkey handler This makes it possible to handle listkeys-related data stored in a bundle2. There are no producers yet.
mercurial/bundle2.py
--- a/mercurial/bundle2.py	Tue May 27 15:29:08 2014 -0700
+++ b/mercurial/bundle2.py	Tue May 27 15:42:03 2014 -0700
@@ -146,6 +146,7 @@
 import struct
 import urllib
 import string
+import pushkey
 
 import changegroup, error
 from i18n import _
@@ -860,3 +861,10 @@
 def handlereplycaps(op, inpart):
     """Used to transmit push race error over the wire"""
     raise error.ResponseError(_('push failed:'), inpart.params['message'])
+
+@parthandler('b2x:listkeys', ('namespace',))
+def handlelistkeys(op, inpart):
+    """retrieve pushkey namespace content stored in a bundle2"""
+    namespace = inpart.params['namespace']
+    r = pushkey.decodekeys(inpart.read())
+    op.records.add('listkeys', (namespace, r))