--- a/mercurial/streamclone.py Thu Jan 18 00:48:56 2018 +0100
+++ b/mercurial/streamclone.py Thu Jan 18 00:45:27 2018 +0100
@@ -18,12 +18,11 @@
util,
)
-def canperformstreamclone(pullop, bailifbundle2supported=False):
+def canperformstreamclone(pullop, bundle2=False):
"""Whether it is possible to perform a streaming clone as part of pull.
- ``bailifbundle2supported`` will cause the function to return False if
- bundle2 stream clones are supported. It should only be called by the
- legacy stream clone code path.
+ ``bundle2`` will cause the function to consider stream clone through
+ bundle2 and only through bundle2.
Returns a tuple of (supported, requirements). ``supported`` is True if
streaming clone is supported and False otherwise. ``requirements`` is
@@ -35,18 +34,18 @@
bundle2supported = False
if pullop.canusebundle2:
- if 'v1' in pullop.remotebundle2caps.get('stream', []):
+ if 'v2' in pullop.remotebundle2caps.get('stream', []):
bundle2supported = True
# else
# Server doesn't support bundle2 stream clone or doesn't support
# the versions we support. Fall back and possibly allow legacy.
# Ensures legacy code path uses available bundle2.
- if bailifbundle2supported and bundle2supported:
+ if bundle2supported and not bundle2:
return False, None
# Ensures bundle2 doesn't try to do a stream clone if it isn't supported.
- #elif not bailifbundle2supported and not bundle2supported:
- # return False, None
+ elif bundle2 and not bundle2supported:
+ return False, None
# Streaming clone only works on empty repositories.
if len(repo):