D4521: narrow: add narrow and ellipses as server capabilities

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Tue Sep 11 05:56:52 EDT 2018


pulkit updated this revision to Diff 10875.
pulkit edited the summary of this revision.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4521?vs=10860&id=10875

REVISION DETAIL
  https://phab.mercurial-scm.org/D4521

AFFECTED FILES
  hgext/narrow/narrowbundle2.py
  hgext/narrow/narrowwirepeer.py
  tests/test-narrow-clone-non-narrow-server.t

CHANGE DETAILS

diff --git a/tests/test-narrow-clone-non-narrow-server.t b/tests/test-narrow-clone-non-narrow-server.t
--- a/tests/test-narrow-clone-non-narrow-server.t
+++ b/tests/test-narrow-clone-non-narrow-server.t
@@ -33,6 +33,7 @@
   $ echo hello | hg -R . serve --stdio | \
   >   $PYTHON unquote.py | grep narrow
   narrow=v0
+  rev-branch-cache changegroupsubset getbundle known lookup narrow protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
 
   $ cd ..
 
diff --git a/hgext/narrow/narrowwirepeer.py b/hgext/narrow/narrowwirepeer.py
--- a/hgext/narrow/narrowwirepeer.py
+++ b/hgext/narrow/narrowwirepeer.py
@@ -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):
diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py
--- a/hgext/narrow/narrowbundle2.py
+++ b/hgext/narrow/narrowbundle2.py
@@ -32,6 +32,7 @@
 )
 
 NARROWCAP = 'narrow'
+ELLIPSESCAP = 'ellipses'
 _NARROWACL_SECTION = 'narrowhgacl'
 _CHANGESPECPART = NARROWCAP + ':changespec'
 _SPECPART = NARROWCAP + ':spec'



To: pulkit, durin42, #hg-reviewers, martinvonz
Cc: martinvonz, mercurial-devel


More information about the Mercurial-devel mailing list