diff mercurial/bundle2.py @ 35763:7eedbd5d4880

streamclone: add support for bundle2 based stream clone The feature put to use the various bits introduced previously. If the server supports it, the client will request its stream clone through bundle2 instead of the legacy 'stream_out' commands. The bundle2 version use the better 'v2' version of stream bundles. The 'v2' format is not finalized yet. Now that there are some code running it, we can start working on it again. Performance numbers are available at the end of this series.
author Boris Feld <boris.feld@octobus.net>
date Wed, 17 Jan 2018 16:41:44 +0100
parents b996ddf5963d
children c97639ad6874
line wrap: on
line diff
--- a/mercurial/bundle2.py	Wed Jan 17 14:13:46 2018 +0100
+++ b/mercurial/bundle2.py	Wed Jan 17 16:41:44 2018 +0100
@@ -1487,6 +1487,7 @@
                 'remote-changegroup': ('http', 'https'),
                 'hgtagsfnodes': (),
                 'phases': ('heads',),
+                'stream': ('v2',),
                }
 
 def getrepocaps(repo, allowpushback=False):
@@ -1507,6 +1508,8 @@
         caps['checkheads'] = ('related',)
     if 'phases' in repo.ui.configlist('devel', 'legacy.exchange'):
         caps.pop('phases')
+    if not repo.ui.configbool('experimental', 'bundle2.stream'):
+        caps.pop('stream')
     return caps
 
 def bundle2caps(remote):