diff -r 9aebeea7ac00 -r bbc78cb1bf15 mercurial/localrepo.py --- a/mercurial/localrepo.py Sat Jul 04 14:18:15 2009 +0100 +++ b/mercurial/localrepo.py Thu Jul 09 19:49:02 2009 -0500 @@ -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)