Skip to content
Snippets Groups Projects
Commit c1b9eb15 authored by Gregory Szorc's avatar Gregory Szorc
Browse files

bundle2: don't advertise stream bundle2 capability when feature disabled

The server.uncompressed config option can be used to disable streaming
clones. While the top-level capability to advertise streaming clone
support isn't advertised when this option is set, we were still sending
the bundle2-level capabilities advertising support for stream parts.
It makes sense to not advertise that support when streaming clones
are globally disabled.

If the structure of the new code seems a bit odd, it is because we'll
have to further tweak the behavior in commit(s) ahead.

Differential Revision: https://phab.mercurial-scm.org/D1929
parent 8ed5f760
No related branches found
No related tags found
No related merge requests found
...@@ -1519,8 +1519,20 @@ ...@@ -1519,8 +1519,20 @@
caps['checkheads'] = ('related',) caps['checkheads'] = ('related',)
if 'phases' in repo.ui.configlist('devel', 'legacy.exchange'): if 'phases' in repo.ui.configlist('devel', 'legacy.exchange'):
caps.pop('phases') caps.pop('phases')
if not repo.ui.configbool('experimental', 'bundle2.stream'):
caps.pop('stream') # Don't advertise stream clone support in server mode if not configured.
if role == 'server':
streamsupported = repo.ui.configbool('server', 'uncompressed',
untrusted=True)
featuresupported = repo.ui.configbool('experimental', 'bundle2.stream')
if not streamsupported or not featuresupported:
caps.pop('stream')
# role == 'client'
else:
if not repo.ui.configbool('experimental', 'bundle2.stream'):
caps.pop('stream')
return caps return caps
def bundle2caps(remote): def bundle2caps(remote):
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
Main capabilities: Main capabilities:
batch batch
branchmap branchmap
$USUAL_BUNDLE2_CAPS$%0Astream%3Dv2 $USUAL_BUNDLE2_CAPS$
changegroupsubset changegroupsubset
compression=zstd,zlib compression=zstd,zlib
getbundle getbundle
...@@ -136,8 +136,6 @@ ...@@ -136,8 +136,6 @@
remote-changegroup remote-changegroup
http http
https https
stream
v2
$ hg clone --stream -U http://localhost:$HGPORT server-disabled $ hg clone --stream -U http://localhost:$HGPORT server-disabled
warning: stream clone requested but server has them disabled warning: stream clone requested but server has them disabled
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment