Thread (5 messages) 5 messages, 3 authors, 2016-06-15

Re: [PATCH 0/4] make it possible to skip away from broken commits

From: Christian Couder <hidden>
Date: 2016-06-15 22:46:53

Le Wednesday 03 June 2009, H. Peter Anvin a écrit :
Junio C Hamano wrote:
quoted
Christian Couder [off-list ref] writes:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help