Re: [RFC PATCH 0/4] pathspec labels [WAS: submodule groups]
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 16, 2016, 21:18 UTC
- Message-ID
- <xmqqlh391z2v.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <CAGZ79kZyPvAFG1TjSm76LuDLpch=7iuL_-8LYqysSESFQj-YjQ@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
Show 12 quoted lines
> This is another case for using ':' instead of '='. > So I think ':' is better for this future enhancement. > > Also this future enhancement may ask for > > git ls-files ":(attr:label=foo)" > > or > > git ls-files ":(attr:-label)" > > so the user can circumvent the warn and ignore strategy. :(
That is exactly what we want, I would say, if we want to accept "arbitrary set of attributes with their states".
The "warn and ignore" comes only from "with '(:label=X Y Z)', we inspect attributes X, Y and Z and insist them to be set to true; it is a configuration error to set the label to anything but a string", and accepting "arbitrary set of attributes with their states" makes it moot (as I said earlier in $gmane/294776).
So are we leaning towards ":(attr:<state>)", where <state> is one of
var=value
var
-var
!varnow? It makes the pathspec magic parser a bit more complex (and I am not sure if we have to worry too much about quoting "value" part to allow arbitrary sequence of bytes), though.