Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5776
bisect: handle search for bad to good transitions
Automatically detect whether we're looking for a bad to good
transition rather than the usual good to bad transition by detecting
when badrev is inside the good set and flipping good/bad.
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5775
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5774
bisect: faster merging
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5773
bisect: merge ancestor lists when pushing to children
- eliminate some redundant tests and assignments
- move ancestor list merging to child update
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5772
bisect: skip calculations on candidates with too many ancestors
Once an ancestor list has grown past the perfect threshold, all
descendants are less optimal. Use a poison dict to avoid pointless
operations on their long ancestor lists, thus eliminating most of the
work.
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5771
bisect: stop early if we find a perfect candidate
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:34 -0600] rev 5770
bisect: find best node in ancestor collection pass