Show More
@@ -1375,6 +1375,30 b' def _addpartsfromopts(ui, repo, bundler,' | |||
|
1375 | 1375 | part.addparam('nbchanges', str(cg.extras['clcount']), |
|
1376 | 1376 | mandatory=False) |
|
1377 | 1377 | |
|
1378 | def addparttagsfnodescache(repo, bundler, outgoing): | |
|
1379 | # we include the tags fnode cache for the bundle changeset | |
|
1380 | # (as an optional parts) | |
|
1381 | cache = tags.hgtagsfnodescache(repo.unfiltered()) | |
|
1382 | chunks = [] | |
|
1383 | ||
|
1384 | # .hgtags fnodes are only relevant for head changesets. While we could | |
|
1385 | # transfer values for all known nodes, there will likely be little to | |
|
1386 | # no benefit. | |
|
1387 | # | |
|
1388 | # We don't bother using a generator to produce output data because | |
|
1389 | # a) we only have 40 bytes per head and even esoteric numbers of heads | |
|
1390 | # consume little memory (1M heads is 40MB) b) we don't want to send the | |
|
1391 | # part if we don't have entries and knowing if we have entries requires | |
|
1392 | # cache lookups. | |
|
1393 | for node in outgoing.missingheads: | |
|
1394 | # Don't compute missing, as this may slow down serving. | |
|
1395 | fnode = cache.getfnode(node, computemissing=False) | |
|
1396 | if fnode is not None: | |
|
1397 | chunks.extend([node, fnode]) | |
|
1398 | ||
|
1399 | if chunks: | |
|
1400 | bundler.newpart('hgtagsfnodes', data=''.join(chunks)) | |
|
1401 | ||
|
1378 | 1402 | def writebundle(ui, cg, filename, bundletype, vfs=None, compression=None, |
|
1379 | 1403 | compopts=None): |
|
1380 | 1404 | """Write a bundle file and return its filename. |
@@ -28,7 +28,6 b' from . import (' | |||
|
28 | 28 | scmutil, |
|
29 | 29 | sslutil, |
|
30 | 30 | streamclone, |
|
31 | tags, | |
|
32 | 31 | url as urlmod, |
|
33 | 32 | util, |
|
34 | 33 | ) |
@@ -1663,30 +1662,7 b' def _getbundletagsfnodes(bundler, repo, ' | |||
|
1663 | 1662 | return |
|
1664 | 1663 | |
|
1665 | 1664 | outgoing = _computeoutgoing(repo, heads, common) |
|
1666 | ||
|
1667 | if not outgoing.missingheads: | |
|
1668 | return | |
|
1669 | ||
|
1670 | cache = tags.hgtagsfnodescache(repo.unfiltered()) | |
|
1671 | chunks = [] | |
|
1672 | ||
|
1673 | # .hgtags fnodes are only relevant for head changesets. While we could | |
|
1674 | # transfer values for all known nodes, there will likely be little to | |
|
1675 | # no benefit. | |
|
1676 | # | |
|
1677 | # We don't bother using a generator to produce output data because | |
|
1678 | # a) we only have 40 bytes per head and even esoteric numbers of heads | |
|
1679 | # consume little memory (1M heads is 40MB) b) we don't want to send the | |
|
1680 | # part if we don't have entries and knowing if we have entries requires | |
|
1681 | # cache lookups. | |
|
1682 | for node in outgoing.missingheads: | |
|
1683 | # Don't compute missing, as this may slow down serving. | |
|
1684 | fnode = cache.getfnode(node, computemissing=False) | |
|
1685 | if fnode is not None: | |
|
1686 | chunks.extend([node, fnode]) | |
|
1687 | ||
|
1688 | if chunks: | |
|
1689 | bundler.newpart('hgtagsfnodes', data=''.join(chunks)) | |
|
1665 | bundle2.addparttagsfnodescache(repo, bundler, outgoing) | |
|
1690 | 1666 | |
|
1691 | 1667 | def _getbookmarks(repo, **kwargs): |
|
1692 | 1668 | """Returns bookmark to node mapping. |
General Comments 0
You need to be logged in to leave comments.
Login now