Re: [PATCH v5 06/10] fast-export: add new --refspec option
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 6, 2013, 22:41 UTC
- Message-ID
- <xmqqmwlh6tlh.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <xmqqr4at6u24.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 26 quoted lines
> Jeff King <peff@peff.net> writes: > >> I think that is much nicer for the simple cases, but how do we handle >> more complex rev expressions? One can say: >> >> git fast-export master ^origin >> >> or even: >> >> git fast-export origin..master >> >> The "^origin" is not a refspec, and finding the refspec in the >> dot-expression would involve parsing it into two components. I think you >> can come up with a workable system by parsing the arguments as revision >> specifiers and then applying some rules. E.g., a positive ref "foo" is a >> refspec "foo:foo", but negative "^bar" does not impact refspecs at all, >> and the same rules are applied for "bar..foo". There is a syntactic >> conflict where "foo:bar" would be interpreted as a tree:path by the >> revision code, though, whereas in this context it means a refspec. >> >> So I think it is possible to go that route (and perhaps preferable, >> even, because it keeps the simple and common cases easy for the user), >> but the implementation is not as simple as just treating the arguments >> as refspecs. > > I forgot about the ranges, but thinking about it further, I think ...
And I am an idiot; you've spelled out everything I wanted to say, so I should have just dropped this ;-)