Re: breakage in revision traversal with pathspec
- From
Jeff King <peff@peff.net>
- Date
- Sep 20, 2013, 03:35 UTC
- Message-ID
- <20130920033541.GC15101@sigill.intra.peff.net>
- In-Reply-To
- <xmqq38p0sdeb.fsf@gitster.dls.corp.google.com>
On Thu, Sep 19, 2013 at 02:35:40PM -0700, Junio C Hamano wrote:
Show 8 quoted lines
> -- >8 -- > Subject: revision: do not peel tags used in range notation > > A range notation "A..B" means exactly the same thing as what "^A B" > means, i.e. the set of commits that are reachable from B but not > from A. But the internal representation after the revision parser > parsed these two notations are subtly different. > [...]
Thanks for a very clear explanation. This definitely seems like an improvement, and the patch looks good to me.
One question, though. With your patch, if I do "tag1..tag2", I get both the tags and the peeled commits in the pending object list. Whereas with "^tag1 tag2", we put only the tags into the list, and we expect the traversal machinery to peel them later. I cannot off-hand think of a reason this difference should be a problem, but I am wondering if there is some code path that does not traverse, but just looks at pending objects, that might care.
-Peff