From: Christian Couder Date: Wed, 03 Jun 2009 06:32:01 GMT Subject: Re: [PATCH 0/4] make it possible to skip away from broken commits Message-ID: <200906030832.01898.chriscool@tuxfamily.org> In-Reply-To: <4A25EA85.5090208@zytor.com> Le Wednesday 03 June 2009, H. Peter Anvin a écrit : > Junio C Hamano wrote: > > Christian Couder writes: > >> This patch series adds a "--ratio=x/y" option to "git bisect skip" so > >> that it is possible to skip away from an area were the commits cannot > >> be tested. > >> > >> Note that in this series "--ratio=4" means the same as "--ratio=1/4". > >> But I am not sure if this shortcut is worth it. > > > > Actually my gut feeling is that a tweakable knob itself is worth it, > > because the user can never tell what the right value should be. > > > > Especially without any documentation updates that explains what this > > ratio refers to ;-), but I suspect, unless the user is very familiar > > with how the revision graph bisection internally works, such an > > explanation would not help him find a skip ratio that is closer to the > > optimum than a random guess. Why not use a constant ratio (or perhaps > > a pair of alternating ratios) on "bisect skip" without any new options? > > I would agree with this assessment. It's hard enough to teach a user > how to use "git bisect" as it is... and being able to have a *user* > bisect a problem is worth its weight in gold. > > If the algorithm I proposed earlier is too complex, here is a very > simple approximation: > > start: > num = 1 > den = 2 > > again: > run test (num/den) > if (!skip) > goto start > > num = num + 2 > if (num > den) > num = 1 > den = den * 2 > > goto again > > > This creates test ratios in the following sequence: > > 1/2 1/4 3/4 1/8 3/8 5/8 7/8 1/16 3/16 ... > > When one gets down to a small number of points this could get weird, but > as long as skip points are filtered (which looks like it's already being > done) it should converge. I agree. I will have a look. Thanks, Christian.