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:29 UTC
Message-ID
<Pine.LNX.4.44L0.1411181523320.879-100000@iolanthe.rowland.org>
In-Reply-To
<20141118194129.GI6527@google.com>
On Tue, 18 Nov 2014, Jonathan Nieder wrote:
Show 16 quoted lines
> Hi,
> 
> Alan Stern wrote:
> 
> > The "git rev-list A ^B" command lists all the commits that are
> > reachable from A but not from B.  Is there a comparable command for the
> > converse relation, that is, a command to list all the commits that A is
> > reachable from but B isn't?
> >
> > And if there is such a command, can the output be limited to just the
> > latest commits?  That is, list commit X if and only if A is reachable
> > from X, B isn't reachable from X, and B is reachable from each of X's
> > children?
> 
> Someone else can answer your direct question, but you've got my
> curiosity.  What is the application?

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). This is also important in cases where there are multiple bugs and you want to investigate only the commits that don't include one of the bugs.

Alan Stern
Previous: Junio C HamanoNext: Jonathan Nieder
Message 7 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.