From: Jeff King Date: Fri, 20 Sep 2013 03:35:41 GMT Subject: Re: breakage in revision traversal with pathspec Message-ID: <20130920033541.GC15101@sigill.intra.peff.net> In-Reply-To: On Thu, Sep 19, 2013 at 02:35:40PM -0700, Junio C Hamano wrote: > -- >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