Show More
@@ -1339,6 +1339,42 b' def obsmarkersversion(caps):' | |||
|
1339 | 1339 | obscaps = caps.get('obsmarkers', ()) |
|
1340 | 1340 | return [int(c[1:]) for c in obscaps if c.startswith('V')] |
|
1341 | 1341 | |
|
1342 | def writenewbundle(ui, repo, source, filename, bundletype, outgoing, opts, | |
|
1343 | vfs=None, compression=None, compopts=None): | |
|
1344 | if bundletype.startswith('HG10'): | |
|
1345 | cg = changegroup.getchangegroup(repo, source, outgoing, version='01') | |
|
1346 | return writebundle(ui, cg, filename, bundletype, vfs=vfs, | |
|
1347 | compression=compression, compopts=compopts) | |
|
1348 | elif not bundletype.startswith('HG20'): | |
|
1349 | raise error.ProgrammingError('unknown bundle type: %s' % bundletype) | |
|
1350 | ||
|
1351 | bundle = bundle20(ui) | |
|
1352 | bundle.setcompression(compression, compopts) | |
|
1353 | _addpartsfromopts(ui, repo, bundle, source, outgoing, opts) | |
|
1354 | chunkiter = bundle.getchunks() | |
|
1355 | ||
|
1356 | return changegroup.writechunks(ui, chunkiter, filename, vfs=vfs) | |
|
1357 | ||
|
1358 | def _addpartsfromopts(ui, repo, bundler, source, outgoing, opts): | |
|
1359 | # We should eventually reconcile this logic with the one behind | |
|
1360 | # 'exchange.getbundle2partsgenerator'. | |
|
1361 | # | |
|
1362 | # The type of input from 'getbundle' and 'writenewbundle' are a bit | |
|
1363 | # different right now. So we keep them separated for now for the sake of | |
|
1364 | # simplicity. | |
|
1365 | ||
|
1366 | # we always want a changegroup in such bundle | |
|
1367 | cgversion = opts.get('cg.version') | |
|
1368 | if cgversion is None: | |
|
1369 | cgversion = changegroup.safeversion(repo) | |
|
1370 | cg = changegroup.getchangegroup(repo, source, outgoing, | |
|
1371 | version=cgversion) | |
|
1372 | part = bundler.newpart('changegroup', data=cg.getchunks()) | |
|
1373 | part.addparam('version', cg.version) | |
|
1374 | if 'clcount' in cg.extras: | |
|
1375 | part.addparam('nbchanges', str(cg.extras['clcount']), | |
|
1376 | mandatory=False) | |
|
1377 | ||
|
1342 | 1378 | def writebundle(ui, cg, filename, bundletype, vfs=None, compression=None, |
|
1343 | 1379 | compopts=None): |
|
1344 | 1380 | """Write a bundle file and return its filename. |
@@ -1393,9 +1393,10 b' def bundle(ui, repo, fname, dest=None, *' | |||
|
1393 | 1393 | if complevel is not None: |
|
1394 | 1394 | compopts['level'] = complevel |
|
1395 | 1395 | |
|
1396 | cg = changegroup.getchangegroup(repo, 'bundle', outgoing, version=cgversion) | |
|
1397 | ||
|
1398 |
bundle2.writebundle(ui, |
|
|
1396 | ||
|
1397 | contentopts = {'cg.version': cgversion} | |
|
1398 | bundle2.writenewbundle(ui, repo, 'bundle', fname, bversion, outgoing, | |
|
1399 | contentopts, compression=bcompression, | |
|
1399 | 1400 | compopts=compopts) |
|
1400 | 1401 | |
|
1401 | 1402 | @command('cat', |
General Comments 0
You need to be logged in to leave comments.
Login now