Mercurial > public > mercurial-scm > hg
comparison mercurial/bundlerepo.py @ 50197:c493cb859158
bundlerepo: move the handling of bundl1 in its own method
This should make the overall flow simpler to follow.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 23 Feb 2023 19:04:44 +0100 |
parents | 2a7e8471782c |
children | a6a8946d5173 |
comparison
equal
deleted
inserted
replaced
50196:2a7e8471782c | 50197:c493cb859158 |
---|---|
316 # because iterparts() will seek to end of payload after the | 316 # because iterparts() will seek to end of payload after the |
317 # generator returns control to iterparts(). | 317 # generator returns control to iterparts(). |
318 cgpart.seek(0, os.SEEK_SET) | 318 cgpart.seek(0, os.SEEK_SET) |
319 | 319 |
320 elif isinstance(bundle, changegroup.cg1unpacker): | 320 elif isinstance(bundle, changegroup.cg1unpacker): |
321 if bundle.compressed(): | 321 self._handle_bundle1(bundle, bundlepath) |
322 f = self._writetempbundle( | |
323 bundle.read, b'.hg10un', header=b'HG10UN' | |
324 ) | |
325 bundle = exchange.readbundle(self.ui, f, bundlepath, self.vfs) | |
326 | |
327 self._bundlefile = bundle | |
328 self._cgunpacker = bundle | |
329 else: | 322 else: |
330 raise error.Abort( | 323 raise error.Abort( |
331 _(b'bundle type %s cannot be read') % type(bundle) | 324 _(b'bundle type %s cannot be read') % type(bundle) |
332 ) | 325 ) |
333 | 326 |
339 self, | 332 self, |
340 None, | 333 None, |
341 phases.draft, | 334 phases.draft, |
342 [ctx.node() for ctx in self[self.firstnewrev :]], | 335 [ctx.node() for ctx in self[self.firstnewrev :]], |
343 ) | 336 ) |
337 | |
338 def _handle_bundle1(self, bundle, bundlepath): | |
339 if bundle.compressed(): | |
340 f = self._writetempbundle(bundle.read, b'.hg10un', header=b'HG10UN') | |
341 bundle = exchange.readbundle(self.ui, f, bundlepath, self.vfs) | |
342 | |
343 self._bundlefile = bundle | |
344 self._cgunpacker = bundle | |
344 | 345 |
345 def _handle_bundle2_cg_part(self, bundle, part): | 346 def _handle_bundle2_cg_part(self, bundle, part): |
346 assert part.type == b'changegroup' | 347 assert part.type == b'changegroup' |
347 cgstream = part | 348 cgstream = part |
348 version = part.params.get(b'version', b'01') | 349 version = part.params.get(b'version', b'01') |