mercurial/discovery.py
changeset 17547 e6de4761d26f
parent 17537 31f32a96e1e3
child 17548 eaa5fcc5bd20
equal deleted inserted replaced
17546:488e470634d8 17547:e6de4761d26f
   291             #
   291             #
   292             # This two case will be easy to handle for know changeset but much
   292             # This two case will be easy to handle for know changeset but much
   293             # more tricky for unsynced changes.
   293             # more tricky for unsynced changes.
   294             newhs = set()
   294             newhs = set()
   295             for nh in candidate_newhs:
   295             for nh in candidate_newhs:
   296                 for suc in obsolete.anysuccessors(repo.obsstore, nh):
   296                 if repo[nh].phase() <= phases.public:
   297                     if suc != nh and suc in allmissing:
   297                     newhs.add(nh)
   298                         break
       
   299                 else:
   298                 else:
   300                     newhs.add(nh)
   299                     for suc in obsolete.anysuccessors(repo.obsstore, nh):
       
   300                         if suc != nh and suc in allmissing:
       
   301                             break
       
   302                     else:
       
   303                         newhs.add(nh)
   301         else:
   304         else:
   302             newhs = candidate_newhs
   305             newhs = candidate_newhs
   303         if len(newhs) > len(oldhs):
   306         if len(newhs) > len(oldhs):
   304             # strip updates to existing remote heads from the new heads list
   307             # strip updates to existing remote heads from the new heads list
   305             dhs = list(newhs - bookmarkedheads - oldhs)
   308             dhs = list(newhs - bookmarkedheads - oldhs)