Re: "man gitattributes" doesn't explain comma-separated attribute values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/03/2019 08:18, Johannes Sixt wrote:
Am 16.03.19 um 23:09 schrieb Robert P. J. Day:
On Sat, 16 Mar 2019, Johannes Sixt wrote:

Am 16.03.19 um 13:22 schrieb Robert P. J. Day:
   as a working example, i looked at the top-level .gitattributes file
in the git source code itself, which opens with:

   * whitespace=!indent,trail,space
   *.[ch] whitespace=indent,trail,space diff=cpp
   *.sh whitespace=indent,trail,space eol=lf
   ... snip ...

first observation is that i see nothing in the man page that explains
the notion of a comma-separated list of attribute values.
This comma-separated list is not a property of attributes in
general, but a property of the whitespace attribute in particular.
See core.whitespace in git-config(1) and "Checking whitespace
errors" in gitattributes(5).
   ah, i was digging through the code trying to figure out where the
whole CSV thing was explained -- it's massively helpful to understand
that that property is specific to whitespace. that does not appear to
be clarified anywhere.
But it is. The very first paragraph of gitattributes(5) states that
attributes are whitespace separated. From this, conclude that the
comma-separated list must pertain to the whitespace attribute.

I can't say that I follow that 'by omission'  argument. It is one of those argument types that sounds good in retrospect but is very hard for the unknowing reader to guess, especially as commas are widely taught as being one of the ubiquitous separators.

There is a similar issue with '/' in refs regarding the subtle distinctions between embedded characters that have a common convenience meaning vs the idea that they are all just a single whitespace separated string.

Given that, Robert may be able to suggest a short addendum that clarifies that the comma is processed elsewhere (IIUC).

  Now
follow the documentation of that, and you end up at core.whitespace in
git-config(1). There you have it as the very first phrase.

-- Hannes

--

Philip




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux