diff -r a87bc6e2a907 -r a5c060b80082 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Jul 13 21:55:17 2009 +0900 +++ b/mercurial/localrepo.py Tue Jul 14 20:10:23 2009 +0200 @@ -473,9 +473,8 @@ latest = newnodes.pop() if latest not in bheads: continue - reachable = set() - for bh in bheads: - reachable |= self.changelog.reachable(latest, bh) + minbhrev = self[min([self[bh].rev() for bh in bheads])].node() + reachable = self.changelog.reachable(latest, minbhrev) bheads = [b for b in bheads if b not in reachable] newbheads.insert(0, latest) bheads.extend(newbheads)