diff -r e7e4e41b3bbc -r 43186df4bb8e mercurial/hbisect.py --- a/mercurial/hbisect.py Sun May 17 03:38:03 2009 +0200 +++ b/mercurial/hbisect.py Sun May 17 03:40:54 2009 +0200 @@ -84,11 +84,11 @@ # find the best node to test best_rev = None best_len = -1 - poison = {} + poison = set() for rev in candidates: if rev in poison: for c in children.get(rev, []): - poison[c] = True # poison children + poison.add(c) # poison children continue a = ancestors[rev] or [rev] @@ -105,7 +105,7 @@ if y < perfect and rev not in skip: # all downhill from here? for c in children.get(rev, []): - poison[c] = True # poison children + poison.add(c) # poison children continue for c in children.get(rev, []):