753 if v in changegroup.supportedoutgoingversions( |
753 if v in changegroup.supportedoutgoingversions( |
754 pushop.repo)] |
754 pushop.repo)] |
755 if not cgversions: |
755 if not cgversions: |
756 raise ValueError(_('no common changegroup version')) |
756 raise ValueError(_('no common changegroup version')) |
757 version = max(cgversions) |
757 version = max(cgversions) |
758 cg = changegroup.getlocalchangegroupraw(pushop.repo, 'push', |
758 cgstream = changegroup.makestream(pushop.repo, pushop.outgoing, version, |
759 pushop.outgoing, |
759 'push') |
760 version=version) |
760 cgpart = bundler.newpart('changegroup', data=cgstream) |
761 cgpart = bundler.newpart('changegroup', data=cg) |
|
762 if cgversions: |
761 if cgversions: |
763 cgpart.addparam('version', version) |
762 cgpart.addparam('version', version) |
764 if 'treemanifest' in pushop.repo.requirements: |
763 if 'treemanifest' in pushop.repo.requirements: |
765 cgpart.addparam('treemanifest', '1') |
764 cgpart.addparam('treemanifest', '1') |
766 def handlereply(op): |
765 def handlereply(op): |
1619 |
1618 |
1620 @getbundle2partsgenerator('changegroup') |
1619 @getbundle2partsgenerator('changegroup') |
1621 def _getbundlechangegrouppart(bundler, repo, source, bundlecaps=None, |
1620 def _getbundlechangegrouppart(bundler, repo, source, bundlecaps=None, |
1622 b2caps=None, heads=None, common=None, **kwargs): |
1621 b2caps=None, heads=None, common=None, **kwargs): |
1623 """add a changegroup part to the requested bundle""" |
1622 """add a changegroup part to the requested bundle""" |
1624 cg = None |
1623 cgstream = None |
1625 if kwargs.get('cg', True): |
1624 if kwargs.get('cg', True): |
1626 # build changegroup bundle here. |
1625 # build changegroup bundle here. |
1627 version = '01' |
1626 version = '01' |
1628 cgversions = b2caps.get('changegroup') |
1627 cgversions = b2caps.get('changegroup') |
1629 if cgversions: # 3.1 and 3.2 ship with an empty value |
1628 if cgversions: # 3.1 and 3.2 ship with an empty value |
1631 if v in changegroup.supportedoutgoingversions(repo)] |
1630 if v in changegroup.supportedoutgoingversions(repo)] |
1632 if not cgversions: |
1631 if not cgversions: |
1633 raise ValueError(_('no common changegroup version')) |
1632 raise ValueError(_('no common changegroup version')) |
1634 version = max(cgversions) |
1633 version = max(cgversions) |
1635 outgoing = _computeoutgoing(repo, heads, common) |
1634 outgoing = _computeoutgoing(repo, heads, common) |
1636 cg = changegroup.getlocalchangegroupraw(repo, source, outgoing, |
1635 cgstream = changegroup.makestream(repo, outgoing, version, source, |
1637 bundlecaps=bundlecaps, |
1636 bundlecaps=bundlecaps) |
1638 version=version) |
1637 |
1639 |
1638 if cgstream: |
1640 if cg: |
1639 part = bundler.newpart('changegroup', data=cgstream) |
1641 part = bundler.newpart('changegroup', data=cg) |
|
1642 if cgversions: |
1640 if cgversions: |
1643 part.addparam('version', version) |
1641 part.addparam('version', version) |
1644 part.addparam('nbchanges', str(len(outgoing.missing)), mandatory=False) |
1642 part.addparam('nbchanges', str(len(outgoing.missing)), mandatory=False) |
1645 if 'treemanifest' in repo.requirements: |
1643 if 'treemanifest' in repo.requirements: |
1646 part.addparam('treemanifest', '1') |
1644 part.addparam('treemanifest', '1') |