mercurial/localrepo.py
branchstable
changeset 17295 1f08ecc7febb
parent 17294 d2217df3a7cf
child 17297 6955d69a52a4
equal deleted inserted replaced
17294:d2217df3a7cf 17295:1f08ecc7febb
  1783                 # should be seen as public
  1783                 # should be seen as public
  1784                 phases.advanceboundary(self, phases.public, subset)
  1784                 phases.advanceboundary(self, phases.public, subset)
  1785 
  1785 
  1786             self.ui.debug('fetching remote obsolete markers')
  1786             self.ui.debug('fetching remote obsolete markers')
  1787             remoteobs = remote.listkeys('obsolete')
  1787             remoteobs = remote.listkeys('obsolete')
  1788             if 'dump' in remoteobs:
  1788             if 'dump0' in remoteobs:
  1789                 if tr is None:
  1789                 if tr is None:
  1790                     tr = self.transaction(trname)
  1790                     tr = self.transaction(trname)
  1791                 data = base85.b85decode(remoteobs['dump'])
  1791                 for key in sorted(remoteobs, reverse=True):
  1792                 self.obsstore.mergemarkers(tr, data)
  1792                     if key.startswith('dump'):
       
  1793                         data = base85.b85decode(remoteobs[key])
       
  1794                         self.obsstore.mergemarkers(tr, data)
  1793             if tr is not None:
  1795             if tr is not None:
  1794                 tr.close()
  1796                 tr.close()
  1795         finally:
  1797         finally:
  1796             if tr is not None:
  1798             if tr is not None:
  1797                 tr.release()
  1799                 tr.release()
  1953                             self.ui.warn(_('updating %s to public failed!\n')
  1955                             self.ui.warn(_('updating %s to public failed!\n')
  1954                                             % newremotehead)
  1956                                             % newremotehead)
  1955                 self.ui.debug('try to push obsolete markers to remote\n')
  1957                 self.ui.debug('try to push obsolete markers to remote\n')
  1956                 if (self.obsstore and
  1958                 if (self.obsstore and
  1957                     'obsolete' in remote.listkeys('namespaces')):
  1959                     'obsolete' in remote.listkeys('namespaces')):
  1958                     data = self.listkeys('obsolete')['dump']
  1960                     rslts = []
  1959                     r = remote.pushkey('obsolete', 'dump', '', data)
  1961                     remotedata = self.listkeys('obsolete')
  1960                     if not r:
  1962                     for key in sorted(remotedata, reverse=True):
  1961                         self.ui.warn(_('failed to push obsolete markers!\n'))
  1963                         # reverse sort to ensure we end with dump0
       
  1964                         data = remotedata[key]
       
  1965                         rslts.append(remote.pushkey('obsolete', key, '', data))
       
  1966                     if [r for r in rslts if not r]:
       
  1967                         msg = _('failed to push some obsolete markers!\n')
       
  1968                         self.ui.warn(msg)
  1962             finally:
  1969             finally:
  1963                 if lock is not None:
  1970                 if lock is not None:
  1964                     lock.release()
  1971                     lock.release()
  1965         finally:
  1972         finally:
  1966             locallock.release()
  1973             locallock.release()