git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Reachability lists in git

From
ASAlan Stern <stern@rowland.harvard.edu>
Date
Nov 18, 2014, 20:45 UTC
Message-ID
<Pine.LNX.4.44L0.1411181541590.2918-100000@iolanthe.rowland.org>
In-Reply-To
<20141118203204.GM6527@google.com>
On Tue, 18 Nov 2014, Jonathan Nieder wrote:
Show 12 quoted lines
> 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
Previous: Jonathan NiederNext: Junio C Hamano
Message 9 of 14 in “Reachability lists in git”
  1. Alan SternNov 18, 2014
  2. Jonathan NiederNov 18, 2014
  3. Junio C HamanoNov 18, 2014
  4. Jonathan NiederNov 18, 2014
  5. Jonathan NiederNov 18, 2014
  6. Junio C HamanoNov 18, 2014
  7. Alan SternNov 18, 2014
  8. Jonathan NiederNov 18, 2014
  9. Alan SternNov 18, 2014
  10. Junio C HamanoNov 18, 2014
  11. Junio C HamanoNov 18, 2014
  12. Alan SternNov 18, 2014
  13. Junio C HamanoNov 18, 2014
  14. Alan SternNov 18, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.