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

Re: Splitting a rev list into 2 sets

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Jun 20, 2013, 13:47 UTC
Message-ID
<CALkWK0k_2jzQNBjLKZ4SDc9vqoZuQ7937dnO6Z_Ye4Ha+FNcag@mail.gmail.com>
In-Reply-To
<CAC9WiBgmswSqDHS3XOubvkY6GhBqrQ3YdwgKR4npqHM-kLJuMA@mail.gmail.com>
Francis Moreau wrote:
> Basically I have an initial set (or can be several different sets)
> expressed as a revision specification described by git-rev-list man
> page. I just want to find the common set of commit which are part of
> the initial sets *and* is reachable by master.
That's just a generic list intersection between
  [a, b, c] and [d, e, f]

no? [a, b, c] is a list you built up somehow, and [d, e, f] comes from $(git rev-list master), right?

You could go about determining the revision walk boundaries and combine them to set up a revision walk to splice the master line, but what is the point of that? You'll only be painting yourself into a design-corner (you won't be able to do other kinds of filtering), and going around your head to touch your nose. You precisely want list intersection: so write an efficient list intersection in the language of your choice. Why is it a poor man's solution? If anything, your convoluted rev-list solution will probably be more complicated, slower, and bug-ridden.

Previous: Francis MoreauNext: Francis Moreau
Message 4 of 12 in “Splitting a rev list into 2 sets”
  1. Francis MoreauJun 20, 2013
  2. Ramkumar RamachandraJun 20, 2013
  3. Francis MoreauJun 20, 2013
  4. Ramkumar RamachandraJun 20, 2013
  5. Francis MoreauJun 21, 2013
  6. Ramkumar RamachandraJun 21, 2013
  7. Phil HordJun 20, 2013
  8. Francis MoreauJun 20, 2013
  9. Thomas RastJun 20, 2013
  10. Francis MoreauJun 20, 2013
  11. Thomas RastJun 24, 2013
  12. Francis MoreauJun 25, 2013

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.