diff -r 553e8f5aba7a -r 0c18aed2fcca mercurial/discovery.py --- a/mercurial/discovery.py Fri Jun 08 07:59:37 2012 -0700 +++ b/mercurial/discovery.py Fri Jun 08 08:39:44 2012 -0700 @@ -214,8 +214,8 @@ if latest not in newheads: continue minhrev = min(cl.rev(h) for h in newheads) - reachable = cl.reachable(latest, cl.node(minhrev)) - reachable.remove(latest) + reachable = [cl.node(rev) for rev in + cl.ancestors([cl.rev(latest)], minhrev)] newheads.difference_update(reachable) branches = set([None]) newmap = {None: newheads}