bundlespec: rationalize the way we specify stream bundle version
authorPierre-Yves David <pierre-yves.david@octobus.net>
Tue, 02 Apr 2024 21:53:17 +0200
changeset 51558 c4aab3661f25
parent 51557 cc44b3df9bb4
child 51560 8e8776a28683
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.
mercurial/bundle2.py
mercurial/bundlecaches.py
--- 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