From: Alan Stern Date: Tue, 18 Nov 2014 20:45:43 GMT Subject: Re: Reachability lists in git Message-ID: In-Reply-To: <20141118203204.GM6527@google.com> 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). Therefore Y is the unique maximal commit which B is not reachable from. Alan Stern