Subject: Re: Reachability lists in git

From: Junio C Hamano <[email-masked]>
Date: Tue, 18 Nov 2014 13:22:26 -0800

Alan Stern <[email-masked]> writes:

>> > No.  Here's a simple example:
>> >
>> >             Y
>> >            /
>> >           /
>> >          X--B
>> >
>> > In this diagram, X = B^.  But B isn't reachable from either X or Y, 
>> > whereas it is reachable from one of X's children (namely Y).
> ...
> Thus, if B introduced a bug, that bug would not be present in Y.  But Y 
> might be better for testing than X, because Y might fix some other 
> problems that are present in X.

The problem with that line of reasoning is that in real life there
will be unbound number of Y's that forked from a point before
somebody wrote B.  Which one among these Y's would you pick and why?

If Y has fixed another problem that is present in X and make it
easier to test, Z, a direct descendant of Y (i.e. Z^1 = Y), may have
fixed yet another problem that is unrelated to the problem B
introduced and it may make the result even easier to test.  Where do
you stop?

Still confused...