On 02/06/16 06:46, Junio C Hamano wrote:
> Ramsay Jones <[email protected]> writes:
>
>> Not having given this much thought at all, but the question which comes
>> to mind is: can you use some other separator for the <attr>-s rather than
>> a comma? That way you don't need to quote them in the <value> part of the
>> <attr>-spec.
>>
>> (I dunno, maybe use ; or : instead?)
>
> There are two kinds of comma involved in this discussion.
>
> * Multiple pathspec magic can be attached to augment the way
> <pattern> selects paths. ":(<magic1>,<magic2>,...)<pattern>" is
> the syntax, and <magicN> are things like "icase" (select the path
> that matches <pattern> case-insensitively), "top" (<pattern> must
> match from the top level of the working tree, even when you are
> running the command from a subdirectory). We added a new kind of
> <magic> whose syntax is "attr:VAR=VAL" recently, which says "not
> only <pattern> must match the path, in order to be selected, the
> path must have the attribute VAR with value VAL".
>
> The comma that separates multiple magic is not something you can
> change now; it has been with us since v1.7.6 (Jun 2011)
>
> * My example wanted to use the attr:VAR=VAL form to select those
> paths that has one specific string as the value for whitespace
> attribute, i.e. VAR in this case is "whitespace". The value for
> whitespace attribute determines what kind of whitespace anomalies
> are considered as errors by "git apply" and "git diff", and it is
> formed by concatenating things like "indent-with-non-tab" (starts
> a line with more than 8 consecutive SPs), "space-before-tab" (a
> SP appears immediately before HT in the indent), etc., with a
> comma in between.
>
> The comma that separates various kinds of whitespace errors is
> not something you can change now; it has been with us since
> v1.5.4 (Feb 2008).
>
> So using different separator is not a viable solution.
Ah, OK, makes sense. Note that I have not used 'pathspec magic' or
the attribute system in git (never felt/had the need)! ;-)
So, at risk of annoying you, let me continue in my ignorance a little
longer and ask: even if you have to protect all of this 'magic' from
the shell with '/" quoting, could you not use (nested) quotes to
protect the <value> part of an <attr>? For example:
git ls-files ':(attr:whitespace="indent,trail,space",icase)'
[Hmm, I don't seem to be able to find documentation on the syntax
of these features (apart from the code, of course).]
ATB,
Ramsay Jones
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html