comparison mercurial/exchange.py @ 50533:f4a540c203d7

stream-clone: support streamv3 on the cli [hg bundle] We add support and test for this. The support is still experimental, so the various name and identifier will eventually need to be renamed when stream-v3 gets out of experimental.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Tue, 23 May 2023 01:39:47 +0200
parents b361e9da3c3b
children 60f9602b413e
comparison
equal deleted inserted replaced
50532:116da6bb7e3b 50533:f4a540c203d7
144 # A stream2 part requires to be part of a v2 bundle 144 # A stream2 part requires to be part of a v2 bundle
145 requirements = urlreq.unquote(part.params[b'requirements']) 145 requirements = urlreq.unquote(part.params[b'requirements'])
146 splitted = requirements.split() 146 splitted = requirements.split()
147 params = bundle2._formatrequirementsparams(splitted) 147 params = bundle2._formatrequirementsparams(splitted)
148 return b'none-v2;stream=v2;%s' % params 148 return b'none-v2;stream=v2;%s' % params
149 elif part.type == b'stream3-exp' and version is None:
150 # A stream3 part requires to be part of a v2 bundle
151 requirements = urlreq.unquote(part.params[b'requirements'])
152 splitted = requirements.split()
153 params = bundle2._formatrequirementsparams(splitted)
154 return b'none-v2;stream=v3-exp;%s' % params
149 elif part.type == b'obsmarkers': 155 elif part.type == b'obsmarkers':
150 params[b'obsolescence'] = b'yes' 156 params[b'obsolescence'] = b'yes'
151 if not part.mandatory: 157 if not part.mandatory:
152 params[b'obsolescence-mandatory'] = b'no' 158 params[b'obsolescence-mandatory'] = b'no'
153 159