changeset 51558:c4aab3661f25

bundlespec: rationalize the way we specify stream bundle version Instead of having weird dedicated option for each version (v2, v3, etc) we reuse the same "stream" parameters. This is consistent with the ability to request a stream clone using "none-v2;stream=v2". This changeset introduce no user visible change, this is pure internal cleaning.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 02 Apr 2024 21:53:17 +0200
parents cc44b3df9bb4
children 8e8776a28683
files mercurial/bundle2.py mercurial/bundlecaches.py
diffstat 2 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/bundle2.py	Tue Apr 02 17:02:39 2024 +0200
+++ b/mercurial/bundle2.py	Tue Apr 02 21:53:17 2024 +0200
@@ -1728,9 +1728,10 @@
     caps = {}
     if opts.get(b'obsolescence', False):
         caps[b'obsmarkers'] = (b'V1',)
-    if opts.get(b'streamv2'):
+    stream_version = opts.get(b'stream', b"")
+    if stream_version == b"v2":
         caps[b'stream'] = [b'v2']
-    elif opts.get(b'streamv3-exp'):
+    elif stream_version == b"v3-exp":
         caps[b'stream'] = [b'v3-exp']
     bundle = bundle20(ui, caps)
     bundle.setcompression(compression, compopts)
@@ -1774,10 +1775,10 @@
     if repository.REPO_FEATURE_SIDE_DATA in repo.features:
         part.addparam(b'exp-sidedata', b'1')
 
-    if opts.get(b'streamv2', False):
+    if opts.get(b'stream', b"") == b"v2":
         addpartbundlestream2(bundler, repo, stream=True)
 
-    if opts.get(b'streamv3-exp', False):
+    if opts.get(b'stream', b"") == b"v3-exp":
         addpartbundlestream2(bundler, repo, stream=True)
 
     if opts.get(b'tagsfnodescache', True):
--- a/mercurial/bundlecaches.py	Tue Apr 02 17:02:39 2024 +0200
+++ b/mercurial/bundlecaches.py	Tue Apr 02 21:53:17 2024 +0200
@@ -136,7 +136,7 @@
         b'cg.version': b'02',
         b'obsolescence': False,
         b'phases': False,
-        b"streamv2": True,
+        b"stream": "v2",
         b'tagsfnodescache': False,
         b'revbranchcache': False,
     },
@@ -145,7 +145,7 @@
         b'cg.version': b'03',
         b'obsolescence': False,
         b'phases': False,
-        b"streamv3-exp": True,
+        b"stream": "v3-exp",
         b'tagsfnodescache': False,
         b'revbranchcache': False,
     },
@@ -388,10 +388,7 @@
     if (
         bundlespec.wirecompression == b'UN'
         and bundlespec.wireversion == b'02'
-        and (
-            bundlespec.contentopts.get(b'streamv2')
-            or bundlespec.contentopts.get(b'streamv3-exp')
-        )
+        and bundlespec.contentopts.get(b'stream', None) in (b"v2", b"v3-exp")
     ):
         return True