hgext/narrow/narrowwirepeer.py
changeset 39523 c90514043eaa
parent 36351 87e950a070e6
child 39529 e82da0fcc7c5
--- a/hgext/narrow/narrowwirepeer.py	Thu Aug 23 18:26:14 2018 -0700
+++ b/hgext/narrow/narrowwirepeer.py	Mon Sep 10 15:55:14 2018 +0300
@@ -14,8 +14,11 @@
     hg,
     narrowspec,
     node,
+    wireprotov1server,
 )
 
+from . import narrowbundle2
+
 def uisetup():
     def peersetup(ui, peer):
         # We must set up the expansion before reposetup below, since it's used
@@ -38,6 +41,16 @@
         peer.__class__ = expandingpeer
     hg.wirepeersetupfuncs.append(peersetup)
 
+    extensions.wrapfunction(wireprotov1server, '_capabilities', addnarrowcap)
+
+def addnarrowcap(orig, repo, proto):
+    """add the narrow capability to the server"""
+    caps = orig(repo, proto)
+    caps.append(narrowbundle2.NARROWCAP)
+    if repo.ui.configbool('experimental', 'narrowservebrokenellipses'):
+        caps.append(narrowbundle2.ELLIPSESCAP)
+    return caps
+
 def reposetup(repo):
     def wirereposetup(ui, peer):
         def wrapped(orig, cmd, *args, **kwargs):