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
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:33 -0600] rev 5769
bisect: calculate candidate set while finding children
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:33 -0600] rev 5768
bisect: use a dict for children
We fill in the children only for ancestors of badrev
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:33 -0600] rev 5767
bisect: propagate ancestor lists directly to children
- calculate the children of all candidates
- for each candidate, combine ancestor lists
- pass ancestor lists to children
- store ancestor count
This eliminates the O(n**2) memory usage, while maintaining about the
same performance.
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:33 -0600] rev 5766
bisect: add noupdate option
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 18:20:25 -0600] rev 5765
Merge backout
Matt Mackall <mpm@selenic.com> [Mon, 31 Dec 2007 17:47:02 -0600] rev 5764
Backed out changeset c2a21fe60994
Unfortunately, this breaks backward compatibility.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Dec 2007 19:46:13 +0100] rev 5763
Show number of changesets written to bundle files by default (issue569)
This was only shown with -v before.