hgext3rd/evolve/utility.py
changeset 5260 68d8c0cc08c4
parent 5075 fbe614cae40c
child 5261 df8dc1963ceb
equal deleted inserted replaced
5259:475af29bc602 5260:68d8c0cc08c4
   110 
   110 
   111     if not p.obsolete():
   111     if not p.obsolete():
   112         return p.rev()
   112         return p.rev()
   113     obs = repo[p]
   113     obs = repo[p]
   114     ui = repo.ui
   114     ui = repo.ui
   115     newer = obsutil.successorssets(repo, obs.node())
       
   116     # search of a parent which is not killed
   115     # search of a parent which is not killed
   117     while not newer:
   116     while True:
       
   117         newer = obsutil.successorssets(repo, obs.node())
       
   118         if newer:
       
   119             break
   118         ui.debug(b"stabilize target %s is plain dead,"
   120         ui.debug(b"stabilize target %s is plain dead,"
   119                  b" trying to stabilize on its parent\n" %
   121                  b" trying to stabilize on its parent\n" %
   120                  obs)
   122                  obs)
   121         obs = obs.p1()
   123         obs = obs.p1()
   122         newer = obsutil.successorssets(repo, obs.node())
       
   123     if len(newer) > 1 or len(newer[0]) > 1:
   124     if len(newer) > 1 or len(newer[0]) > 1:
   124         raise MultipleSuccessorsError(newer)
   125         raise MultipleSuccessorsError(newer)
   125 
   126 
   126     return repo[newer[0][0]].rev()
   127     return repo[newer[0][0]].rev()
   127 
   128