diff mercurial/exchange.py @ 22342:262c5cc126c1

bundle2: introduce a `getrepocaps` to retrieve the bundle2 caps of a repo This function lets extensions change the bundle2 capabilities of a repository.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 25 Aug 2014 19:21:47 +0200
parents 2d16b39601b5
children a76660f85200
line wrap: on
line diff
--- a/mercurial/exchange.py	Mon Aug 25 19:17:06 2014 +0200
+++ b/mercurial/exchange.py	Mon Aug 25 19:21:47 2014 +0200
@@ -465,7 +465,7 @@
     evolve in the future."""
     bundler = bundle2.bundle20(pushop.ui, bundle2.bundle2caps(pushop.remote))
     # create reply capability
-    capsblob = bundle2.encodecaps(bundle2.capabilities)
+    capsblob = bundle2.encodecaps(bundle2.getrepocaps(pushop.repo))
     bundler.newpart('b2x:replycaps', data=capsblob)
     replyhandlers = []
     for partgenname in b2partsgenorder:
@@ -588,7 +588,7 @@
             #
             # This will eventually be unified with the changesets bundle2 push
             bundler = bundle2.bundle20(pushop.ui, b2caps)
-            capsblob = bundle2.encodecaps(pushop.repo.bundle2caps)
+            capsblob = bundle2.encodecaps(bundle2.getrepocaps(pushop.repo))
             bundler.newpart('b2x:replycaps', data=capsblob)
             part2node = []
             enc = pushkey.encode
@@ -922,7 +922,7 @@
 def caps20to10(repo):
     """return a set with appropriate options to use bundle20 during getbundle"""
     caps = set(['HG2X'])
-    capsblob = bundle2.encodecaps(bundle2.capabilities)
+    capsblob = bundle2.encodecaps(bundle2.getrepocaps(repo))
     caps.add('bundle2=' + urllib.quote(capsblob))
     return caps