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.