mercurial/exchange.py
changeset 34113 d8245139e720
parent 34111 f85dfde1731a
child 34116 5ede882c249c
equal deleted inserted replaced
34112:f7d41b85bbf6 34113:d8245139e720
   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')