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
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to