diff -r a9221c7f51a4 -r 21233de9c053 mercurial/hbisect.py --- a/mercurial/hbisect.py Wed Dec 31 15:04:18 2008 +0100 +++ b/mercurial/hbisect.py Sat Dec 27 19:05:26 2008 +0100 @@ -102,7 +102,7 @@ if value == perfect: # found a perfect candidate? quit early break - if y < perfect: # all downhill from here? + if y < perfect and rev not in skip: # all downhill from here? for c in children.get(rev, []): poison[c] = True # poison children continue