Junio C Hamano <gitster@xxxxxxxxx> writes: > Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes: > >> On Tue, 18 Nov 2014, Jonathan Nieder wrote: >> >>> Alan Stern wrote: >>> >>> > Tracking down regressions. Bisection isn't perfect. Suppose a >>> > bisection run ends up saying that B is the first bad commit. It's easy >>> > enough to build B and test it, to verify that it really is bad. >>> > >>> > But to be sure that B introduced the fault, it would help to find the >>> > latest commit that doesn't include B's changes -- that is, the latest >>> > commit that B isn't reachable from (or the maximal elements in the set >>> > of all such commits). >>> >>> Isn't that B^ (or B^ and B^2, if B is a merge)? >> >> 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). > ... > > Why do you say B is reachable from Y? > > If you mean that B is a merge between X and Y, then that is already > covered by what Jonathan wrote "(or B^ and B^2 if B is a merge)". > > X----Y > \ \ > .----B > ... No, that cannot be what you meant. I was confused. The above picture does not make B reachable from Y (it is the other way around: B reaches Y). The topology where B isn't reachable from either X or Y and is reachable from Y would be X---Y i.e. B = Y^2, X = Y^1 = B^1 \ / B If B is broken, and X is not, then Y would be contaminated by the breakage B introduces relative to X, unless Y is an evil merge and fixed that breakage while merging. In any case, even if Y is found to be broken, its parent B is already broken, so that does not place the blame on Y, does it? Still confused why you feel Y is any significant... -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html