diff -r 24e0661e6c2e -r 4add43865a9b mercurial/ancestor.py --- a/mercurial/ancestor.py Mon Feb 24 22:42:13 2014 +0100 +++ b/mercurial/ancestor.py Mon Feb 24 22:42:13 2014 +0100 @@ -31,7 +31,7 @@ poison = 1 << (i + 1) gca = set() - interesting = left = len(nodes) + interesting = len(nodes) nv = len(seen) - 1 while nv >= 0 and interesting: v = nv @@ -45,10 +45,8 @@ gca.add(v) sv |= poison if v in nodes: - left -= 1 - if left <= 1: - # history is linear - return set([v]) + # history is linear + return set([v]) if sv < poison: for p in pfunc(v): sp = seen[p]