D4808: narrow: move the wireprotocol narrow capability name to core

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Sun Sep 30 00:04:45 UTC 2018


pulkit created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  We are trying to integrate the whole of narrow logic into core and it will be
  helpful for upcoming patches to have these capability names in core. The next
  patch will move the ellipses capability to core also.
  
  The exact motivation is to know whether we are cloning a ellipses repo or not
  and adding an ellipses repo requirement.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  hgext/narrow/narrowcommands.py
  hgext/narrow/narrowrepo.py
  hgext/narrow/narrowwirepeer.py
  mercurial/wireprotoserver.py

CHANGE DETAILS

diff --git a/mercurial/wireprotoserver.py b/mercurial/wireprotoserver.py
--- a/mercurial/wireprotoserver.py
+++ b/mercurial/wireprotoserver.py
@@ -38,6 +38,8 @@
 HGTYPE2 = 'application/mercurial-0.2'
 HGERRTYPE = 'application/hg-error'
 
+NARROWCAP = 'exp-narrow-1'
+
 SSHV1 = wireprototypes.SSHV1
 SSHV2 = wireprototypes.SSHV2
 
diff --git a/hgext/narrow/narrowwirepeer.py b/hgext/narrow/narrowwirepeer.py
--- a/hgext/narrow/narrowwirepeer.py
+++ b/hgext/narrow/narrowwirepeer.py
@@ -10,19 +10,19 @@
 from mercurial import (
     extensions,
     hg,
+    wireprotoserver,
     wireprotov1server,
 )
 
-NARROWCAP = 'exp-narrow-1'
 ELLIPSESCAP = 'exp-ellipses-1'
 
 def uisetup():
     extensions.wrapfunction(wireprotov1server, '_capabilities', addnarrowcap)
 
 def addnarrowcap(orig, repo, proto):
     """add the narrow capability to the server"""
     caps = orig(repo, proto)
-    caps.append(NARROWCAP)
+    caps.append(wireprotoserver.NARROWCAP)
     if repo.ui.configbool('experimental', 'narrowservebrokenellipses'):
         caps.append(ELLIPSESCAP)
     return caps
diff --git a/hgext/narrow/narrowrepo.py b/hgext/narrow/narrowrepo.py
--- a/hgext/narrow/narrowrepo.py
+++ b/hgext/narrow/narrowrepo.py
@@ -7,6 +7,10 @@
 
 from __future__ import absolute_import
 
+from mercurial import (
+    wireprotoserver,
+)
+
 from . import (
     narrowdirstate,
     narrowwirepeer,
@@ -23,7 +27,7 @@
 
         def peer(self):
             peer = super(narrowrepository, self).peer()
-            peer._caps.add(narrowwirepeer.NARROWCAP)
+            peer._caps.add(wireprotoserver.NARROWCAP)
             peer._caps.add(narrowwirepeer.ELLIPSESCAP)
             return peer
 
diff --git a/hgext/narrow/narrowcommands.py b/hgext/narrow/narrowcommands.py
--- a/hgext/narrow/narrowcommands.py
+++ b/hgext/narrow/narrowcommands.py
@@ -29,6 +29,7 @@
     repoview,
     sparse,
     util,
+    wireprotoserver,
 )
 
 from . import (
@@ -136,7 +137,7 @@
     if repository.NARROW_REQUIREMENT not in repo.requirements:
         return orig(pullop, kwargs)
 
-    if narrowwirepeer.NARROWCAP not in pullop.remote.capabilities():
+    if wireprotoserver.NARROWCAP not in pullop.remote.capabilities():
         raise error.Abort(_("server doesn't support narrow clones"))
     orig(pullop, kwargs)
     kwargs['narrow'] = True



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


More information about the Mercurial-devel mailing list