diff -r 3ba9ef0fb693 -r c90514043eaa hgext/narrow/narrowwirepeer.py --- 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):