Subject: Re: [PATCH v5 06/10] fast-export: add new --refspec option

From: Junio C Hamano <[email-masked]>
Date: Wed, 06 Nov 2013 14:41:46 -0800

Junio C Hamano <[email-masked]> writes:

> Jeff King <[email-masked]> 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 ;-)