Show More
@@ -116,10 +116,15 b' def getbundlechangegrouppart_narrow(bund' | |||||
116 | newvisit, newfull, newellipsis = exchange._computeellipsis( |
|
116 | newvisit, newfull, newellipsis = exchange._computeellipsis( | |
117 | repo, set(), common, known, newmatch) |
|
117 | repo, set(), common, known, newmatch) | |
118 | if newvisit: |
|
118 | if newvisit: | |
119 |
|
|
119 | packer = changegroup.getbundler(version, repo, | |
120 | repo, common, newmatch, newfull, newellipsis, |
|
120 | filematcher=newmatch, | |
121 | newvisit, depth, source, version) |
|
121 | ellipses=True, | |
122 | part = bundler.newpart('changegroup', data=cg) |
|
122 | shallow=depth is not None, | |
|
123 | ellipsisroots=newellipsis, | |||
|
124 | fullnodes=newfull) | |||
|
125 | cgdata = packer.generate(common, newvisit, False, source) | |||
|
126 | ||||
|
127 | part = bundler.newpart('changegroup', data=cgdata) | |||
123 | part.addparam('version', version) |
|
128 | part.addparam('version', version) | |
124 | if 'treemanifest' in repo.requirements: |
|
129 | if 'treemanifest' in repo.requirements: | |
125 | part.addparam('treemanifest', '1') |
|
130 | part.addparam('treemanifest', '1') | |
@@ -129,10 +134,15 b' def getbundlechangegrouppart_narrow(bund' | |||||
129 |
|
134 | |||
130 | repo.ui.debug('Found %d relevant revs\n' % len(relevant_nodes)) |
|
135 | repo.ui.debug('Found %d relevant revs\n' % len(relevant_nodes)) | |
131 | if visitnodes: |
|
136 | if visitnodes: | |
132 | cg = changegroup._packellipsischangegroup( |
|
137 | packer = changegroup.getbundler(version, repo, | |
133 | repo, common, newmatch, relevant_nodes, ellipsisroots, |
|
138 | filematcher=newmatch, | |
134 | visitnodes, depth, source, version) |
|
139 | ellipses=True, | |
135 | part = bundler.newpart('changegroup', data=cg) |
|
140 | shallow=depth is not None, | |
|
141 | ellipsisroots=ellipsisroots, | |||
|
142 | fullnodes=relevant_nodes) | |||
|
143 | cgdata = packer.generate(common, visitnodes, False, source) | |||
|
144 | ||||
|
145 | part = bundler.newpart('changegroup', data=cgdata) | |||
136 | part.addparam('version', version) |
|
146 | part.addparam('version', version) | |
137 | if 'treemanifest' in repo.requirements: |
|
147 | if 'treemanifest' in repo.requirements: | |
138 | part.addparam('treemanifest', '1') |
|
148 | part.addparam('treemanifest', '1') |
@@ -1418,18 +1418,3 b' def _addchangegroupfiles(repo, source, r' | |||||
1418 | (f, hex(n))) |
|
1418 | (f, hex(n))) | |
1419 |
|
1419 | |||
1420 | return revisions, files |
|
1420 | return revisions, files | |
1421 |
|
||||
1422 | def _packellipsischangegroup(repo, common, match, relevant_nodes, |
|
|||
1423 | ellipsisroots, visitnodes, depth, source, version): |
|
|||
1424 | # We wrap cg1packer.revchunk, using a side channel to pass |
|
|||
1425 | # relevant_nodes into that area. Then if linknode isn't in the |
|
|||
1426 | # set, we know we have an ellipsis node and we should defer |
|
|||
1427 | # sending that node's data. We override close() to detect |
|
|||
1428 | # pending ellipsis nodes and flush them. |
|
|||
1429 | packer = getbundler(version, repo, filematcher=match, |
|
|||
1430 | ellipses=True, |
|
|||
1431 | shallow=depth is not None, |
|
|||
1432 | ellipsisroots=ellipsisroots, |
|
|||
1433 | fullnodes=relevant_nodes) |
|
|||
1434 |
|
||||
1435 | return packer.generate(common, visitnodes, False, source) |
|
General Comments 0
You need to be logged in to leave comments.
Login now