Show More
@@ -512,14 +512,16 b' class bundle20(object):' | |||||
512 | self._parts = [] |
|
512 | self._parts = [] | |
513 | self.capabilities = dict(capabilities) |
|
513 | self.capabilities = dict(capabilities) | |
514 | self._compengine = util.compengines.forbundletype('UN') |
|
514 | self._compengine = util.compengines.forbundletype('UN') | |
|
515 | self._compopts = None | |||
515 |
|
516 | |||
516 | def setcompression(self, alg): |
|
517 | def setcompression(self, alg, compopts=None): | |
517 | """setup core part compression to <alg>""" |
|
518 | """setup core part compression to <alg>""" | |
518 | if alg in (None, 'UN'): |
|
519 | if alg in (None, 'UN'): | |
519 | return |
|
520 | return | |
520 | assert not any(n.lower() == 'Compression' for n, v in self._params) |
|
521 | assert not any(n.lower() == 'Compression' for n, v in self._params) | |
521 | self.addparam('Compression', alg) |
|
522 | self.addparam('Compression', alg) | |
522 | self._compengine = util.compengines.forbundletype(alg) |
|
523 | self._compengine = util.compengines.forbundletype(alg) | |
|
524 | self._compopts = compopts | |||
523 |
|
525 | |||
524 | @property |
|
526 | @property | |
525 | def nbparts(self): |
|
527 | def nbparts(self): | |
@@ -571,7 +573,8 b' class bundle20(object):' | |||||
571 | yield _pack(_fstreamparamsize, len(param)) |
|
573 | yield _pack(_fstreamparamsize, len(param)) | |
572 | if param: |
|
574 | if param: | |
573 | yield param |
|
575 | yield param | |
574 |
for chunk in self._compengine.compressstream(self._getcorechunk() |
|
576 | for chunk in self._compengine.compressstream(self._getcorechunk(), | |
|
577 | self._compopts): | |||
575 | yield chunk |
|
578 | yield chunk | |
576 |
|
579 | |||
577 | def _paramchunk(self): |
|
580 | def _paramchunk(self): | |
@@ -1289,7 +1292,8 b' def obsmarkersversion(caps):' | |||||
1289 | obscaps = caps.get('obsmarkers', ()) |
|
1292 | obscaps = caps.get('obsmarkers', ()) | |
1290 | return [int(c[1:]) for c in obscaps if c.startswith('V')] |
|
1293 | return [int(c[1:]) for c in obscaps if c.startswith('V')] | |
1291 |
|
1294 | |||
1292 |
def writebundle(ui, cg, filename, bundletype, vfs=None, compression=None |
|
1295 | def writebundle(ui, cg, filename, bundletype, vfs=None, compression=None, | |
|
1296 | compopts=None): | |||
1293 | """Write a bundle file and return its filename. |
|
1297 | """Write a bundle file and return its filename. | |
1294 |
|
1298 | |||
1295 | Existing files will not be overwritten. |
|
1299 | Existing files will not be overwritten. | |
@@ -1300,7 +1304,7 b' def writebundle(ui, cg, filename, bundle' | |||||
1300 |
|
1304 | |||
1301 | if bundletype == "HG20": |
|
1305 | if bundletype == "HG20": | |
1302 | bundle = bundle20(ui) |
|
1306 | bundle = bundle20(ui) | |
1303 | bundle.setcompression(compression) |
|
1307 | bundle.setcompression(compression, compopts) | |
1304 | part = bundle.newpart('changegroup', data=cg.getchunks()) |
|
1308 | part = bundle.newpart('changegroup', data=cg.getchunks()) | |
1305 | part.addparam('version', cg.version) |
|
1309 | part.addparam('version', cg.version) | |
1306 | if 'clcount' in cg.extras: |
|
1310 | if 'clcount' in cg.extras: | |
@@ -1320,7 +1324,7 b' def writebundle(ui, cg, filename, bundle' | |||||
1320 | compengine = util.compengines.forbundletype(comp) |
|
1324 | compengine = util.compengines.forbundletype(comp) | |
1321 | def chunkiter(): |
|
1325 | def chunkiter(): | |
1322 | yield header |
|
1326 | yield header | |
1323 | for chunk in compengine.compressstream(cg.getchunks()): |
|
1327 | for chunk in compengine.compressstream(cg.getchunks(), compopts): | |
1324 | yield chunk |
|
1328 | yield chunk | |
1325 | chunkiter = chunkiter() |
|
1329 | chunkiter = chunkiter() | |
1326 |
|
1330 |
General Comments 0
You need to be logged in to leave comments.
Login now