mercurial/exchange.py
changeset 34836 537de0b14030
parent 34822 c1e7ce11db9b
child 34910 498697fe41f2
equal deleted inserted replaced
34835:14c87708f432 34836:537de0b14030
   804 def _pushb2phases(pushop, bundler):
   804 def _pushb2phases(pushop, bundler):
   805     """handle phase push through bundle2"""
   805     """handle phase push through bundle2"""
   806     if 'phases' in pushop.stepsdone:
   806     if 'phases' in pushop.stepsdone:
   807         return
   807         return
   808     b2caps = bundle2.bundle2caps(pushop.remote)
   808     b2caps = bundle2.bundle2caps(pushop.remote)
   809     if 'pushkey' in b2caps:
   809     ui = pushop.repo.ui
       
   810 
       
   811     legacyphase = 'phases' in ui.configlist('devel', 'legacy.exchange')
       
   812     haspushkey = 'pushkey' in b2caps
       
   813     hasphaseheads = 'heads' in b2caps.get('phases', ())
       
   814 
       
   815     if hasphaseheads and not legacyphase:
       
   816         _pushb2phaseheads(pushop, bundler)
       
   817     elif haspushkey:
   810         _pushb2phasespushkey(pushop, bundler)
   818         _pushb2phasespushkey(pushop, bundler)
       
   819 
       
   820 def _pushb2phaseheads(pushop, bundler):
       
   821     """push phase information through a bundle2 - binary part"""
       
   822     pushop.stepsdone.add('phases')
       
   823     if pushop.outdatedphases:
       
   824         updates = [[] for p in phases.allphases]
       
   825         updates[0].extend(h.node() for h in pushop.outdatedphases)
       
   826         phasedata = phases.binaryencode(updates)
       
   827         bundler.newpart('phase-heads', data=phasedata)
   811 
   828 
   812 def _pushb2phasespushkey(pushop, bundler):
   829 def _pushb2phasespushkey(pushop, bundler):
   813     """push phase information through a bundle2 - pushkey part"""
   830     """push phase information through a bundle2 - pushkey part"""
   814     pushop.stepsdone.add('phases')
   831     pushop.stepsdone.add('phases')
   815     part2node = []
   832     part2node = []