diff hgext/evolve.py @ 875:10867a8e27c6

exchange: properly wrap wireprotocol capabilities Just wrapping the module function only works for ssh. Ssh gets capability through the `hello` command. We also need to wrap the function stored in the command dict. This fix discovery for http peer.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 10 Mar 2014 21:34:36 -0700
parents 66bbbb96f5e0
children cf35f38d6a10
line wrap: on
line diff
--- a/hgext/evolve.py	Mon Mar 10 17:40:38 2014 -0700
+++ b/hgext/evolve.py	Mon Mar 10 21:34:36 2014 -0700
@@ -2455,4 +2455,9 @@
     hgweb_mod.perms['evoext_obshash'] = 'pull'
     wireproto.commands['evoext_pushobsmarkers_0'] = (srv_pushobsmarkers, '')
     wireproto.commands['evoext_pullobsmarkers_0'] = (srv_pullobsmarkers, '*')
+    # wrap command content
+    oldcap, args = wireproto.commands['capabilities']
+    def newcap(repo, proto):
+        return capabilities(oldcap, repo, proto)
+    wireproto.commands['capabilities'] = (newcap, args)
     wireproto.commands['evoext_obshash'] = (srv_obshash, 'nodes')