--- 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):