diff mercurial/localrepo.py @ 9093:0b2b269ba3d0

branch heads: fix regression introduced in e67e5b60e55f (issue1726) For merge nodes it is not adequate to only check a single possible branch head for whether it is an ancestor of the latest head, but it needs to be done for each possible branch head.
author Henrik Stuart <hg@hstuart.dk>
date Thu, 09 Jul 2009 20:49:02 +0200
parents 7b19cda0fa10
children bbc78cb1bf15 d3b995dd4eab
line wrap: on
line diff
--- a/mercurial/localrepo.py	Thu Jul 09 11:59:18 2009 +0200
+++ b/mercurial/localrepo.py	Thu Jul 09 20:49:02 2009 +0200
@@ -473,7 +473,9 @@
                 latest = newnodes.pop()
                 if latest not in bheads:
                     continue
-                reachable = self.changelog.reachable(latest, bheads[0])
+                reachable = set()
+                for bh in bheads:
+                    reachable |= self.changelog.reachable(latest, bh)
                 bheads = [b for b in bheads if b not in reachable]
                 newbheads.insert(0, latest)
             bheads.extend(newbheads)