mercurial/discovery.py
changeset 17547 e6de4761d26f
parent 17537 31f32a96e1e3
child 17548 eaa5fcc5bd20
--- a/mercurial/discovery.py	Wed Aug 01 19:35:05 2012 +0200
+++ b/mercurial/discovery.py	Fri Aug 24 16:52:45 2012 +0200
@@ -293,11 +293,14 @@
             # more tricky for unsynced changes.
             newhs = set()
             for nh in candidate_newhs:
-                for suc in obsolete.anysuccessors(repo.obsstore, nh):
-                    if suc != nh and suc in allmissing:
-                        break
+                if repo[nh].phase() <= phases.public:
+                    newhs.add(nh)
                 else:
-                    newhs.add(nh)
+                    for suc in obsolete.anysuccessors(repo.obsstore, nh):
+                        if suc != nh and suc in allmissing:
+                            break
+                    else:
+                        newhs.add(nh)
         else:
             newhs = candidate_newhs
         if len(newhs) > len(oldhs):