325 else: |
325 else: |
326 raise error.Abort( |
326 raise error.Abort( |
327 _(b'bundle type %s cannot be read') % type(bundle) |
327 _(b'bundle type %s cannot be read') % type(bundle) |
328 ) |
328 ) |
329 |
329 |
|
330 def _handle_bundle1(self, bundle, bundlepath): |
|
331 if bundle.compressed(): |
|
332 f = self._writetempbundle(bundle.read, b'.hg10un', header=b'HG10UN') |
|
333 bundle = exchange.readbundle(self.ui, f, bundlepath, self.vfs) |
|
334 |
|
335 self._bundlefile = bundle |
|
336 self._cgunpacker = bundle |
|
337 |
330 self.firstnewrev = self.changelog.repotiprev + 1 |
338 self.firstnewrev = self.changelog.repotiprev + 1 |
331 phases.retractboundary( |
339 phases.retractboundary( |
332 self, |
340 self, |
333 None, |
341 None, |
334 phases.draft, |
342 phases.draft, |
335 [ctx.node() for ctx in self[self.firstnewrev :]], |
343 [ctx.node() for ctx in self[self.firstnewrev :]], |
336 ) |
344 ) |
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 |
|
345 |
345 |
346 def _handle_bundle2_cg_part(self, bundle, part): |
346 def _handle_bundle2_cg_part(self, bundle, part): |
347 assert part.type == b'changegroup' |
347 assert part.type == b'changegroup' |
348 cgstream = part |
348 cgstream = part |
349 version = part.params.get(b'version', b'01') |
349 version = part.params.get(b'version', b'01') |
353 raise error.Abort(msg % version) |
353 raise error.Abort(msg % version) |
354 if bundle.compressed(): |
354 if bundle.compressed(): |
355 cgstream = self._writetempbundle(part.read, b'.cg%sun' % version) |
355 cgstream = self._writetempbundle(part.read, b'.cg%sun' % version) |
356 |
356 |
357 self._cgunpacker = changegroup.getunbundler(version, cgstream, b'UN') |
357 self._cgunpacker = changegroup.getunbundler(version, cgstream, b'UN') |
|
358 |
|
359 self.firstnewrev = self.changelog.repotiprev + 1 |
|
360 phases.retractboundary( |
|
361 self, |
|
362 None, |
|
363 phases.draft, |
|
364 [ctx.node() for ctx in self[self.firstnewrev :]], |
|
365 ) |
358 |
366 |
359 def _writetempbundle(self, readfn, suffix, header=b''): |
367 def _writetempbundle(self, readfn, suffix, header=b''): |
360 """Write a temporary file to disk""" |
368 """Write a temporary file to disk""" |
361 fdtemp, temp = self.vfs.mkstemp(prefix=b"hg-bundle-", suffix=suffix) |
369 fdtemp, temp = self.vfs.mkstemp(prefix=b"hg-bundle-", suffix=suffix) |
362 self.tempfile = temp |
370 self.tempfile = temp |