git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* "man gitattributes" doesn't explain comma-separated attribute values
@ 2019-03-16 12:22 Robert P. J. Day
  2019-03-16 13:13 ` Ævar Arnfjörð Bjarmason
  2019-03-16 21:58 ` Johannes Sixt
  0 siblings, 2 replies; 7+ messages in thread
From: Robert P. J. Day @ 2019-03-16 12:22 UTC (permalink / raw)
  To: Git Mailing list


  more nitpicking, but i'm working my way through the intricacies of
attributes and putting together some (allegedly) simple examples for a
class i'm giving on monday, and i noted a couple possible shortcomings
in "man gitattributes".

  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. maybe i
missed it or maybe it's supposed to be intuitively obvious, but
there's nothing i can see that mentions the possibility.

  related to that is that there is no explanation as to how to
interpret:

  * whitespace=!indent,trail,space

does the "!" apply to "indent" or to the entire list? the man page
doesn't say.

  just being pedantic again.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-16 12:22 "man gitattributes" doesn't explain comma-separated attribute values Robert P. J. Day
@ 2019-03-16 13:13 ` Ævar Arnfjörð Bjarmason
  2019-03-16 13:48   ` Robert P. J. Day
  2019-03-16 21:58 ` Johannes Sixt
  1 sibling, 1 reply; 7+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2019-03-16 13:13 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Git Mailing list


On Sat, Mar 16 2019, Robert P. J. Day wrote:

>   more nitpicking, but i'm working my way through the intricacies of
> attributes and putting together some (allegedly) simple examples for a
> class i'm giving on monday, and i noted a couple possible shortcomings
> in "man gitattributes".
>
>   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. maybe i
> missed it or maybe it's supposed to be intuitively obvious, but
> there's nothing i can see that mentions the possibility.
>
>   related to that is that there is no explanation as to how to
> interpret:
>
>   * whitespace=!indent,trail,space
>
> does the "!" apply to "indent" or to the entire list? the man page
> doesn't say.
>
>   just being pedantic again.
>
> rday

It's documented in gitglossary, search for "attr". That's not an excuse
or a statement that that doesn't suck, just a pointer for anyone
interested in fixing the docs.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-16 13:13 ` Ævar Arnfjörð Bjarmason
@ 2019-03-16 13:48   ` Robert P. J. Day
  0 siblings, 0 replies; 7+ messages in thread
From: Robert P. J. Day @ 2019-03-16 13:48 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason; +Cc: Git Mailing list

[-- Attachment #1: Type: text/plain, Size: 1411 bytes --]

On Sat, 16 Mar 2019, Ævar Arnfjörð Bjarmason wrote:

>
> On Sat, Mar 16 2019, Robert P. J. Day wrote:
>
> >   more nitpicking, but i'm working my way through the intricacies of
> > attributes and putting together some (allegedly) simple examples for a
> > class i'm giving on monday, and i noted a couple possible shortcomings
> > in "man gitattributes".
> >
> >   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. maybe i
> > missed it or maybe it's supposed to be intuitively obvious, but
> > there's nothing i can see that mentions the possibility.
> >
> >   related to that is that there is no explanation as to how to
> > interpret:
> >
> >   * whitespace=!indent,trail,space
> >
> > does the "!" apply to "indent" or to the entire list? the man page
> > doesn't say.
> >
> >   just being pedantic again.
> >
> > rday
>
> It's documented in gitglossary, search for "attr". That's not an excuse
> or a statement that that doesn't suck, just a pointer for anyone
> interested in fixing the docs.

  ah, gotcha. thenk you kindly.

rday

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-16 12:22 "man gitattributes" doesn't explain comma-separated attribute values Robert P. J. Day
  2019-03-16 13:13 ` Ævar Arnfjörð Bjarmason
@ 2019-03-16 21:58 ` Johannes Sixt
  2019-03-16 22:09   ` Robert P. J. Day
  1 sibling, 1 reply; 7+ messages in thread
From: Johannes Sixt @ 2019-03-16 21:58 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Git Mailing list

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).

-- Hannes

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-16 21:58 ` Johannes Sixt
@ 2019-03-16 22:09   ` Robert P. J. Day
  2019-03-17  8:18     ` Johannes Sixt
  0 siblings, 1 reply; 7+ messages in thread
From: Robert P. J. Day @ 2019-03-16 22:09 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Git Mailing list

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.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-16 22:09   ` Robert P. J. Day
@ 2019-03-17  8:18     ` Johannes Sixt
  2019-03-18 10:10       ` Philip Oakley
  0 siblings, 1 reply; 7+ messages in thread
From: Johannes Sixt @ 2019-03-17  8:18 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Git Mailing list

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. 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: "man gitattributes" doesn't explain comma-separated attribute values
  2019-03-17  8:18     ` Johannes Sixt
@ 2019-03-18 10:10       ` Philip Oakley
  0 siblings, 0 replies; 7+ messages in thread
From: Philip Oakley @ 2019-03-18 10:10 UTC (permalink / raw)
  To: Johannes Sixt, Robert P. J. Day; +Cc: Git Mailing list

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-03-18 10:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-16 12:22 "man gitattributes" doesn't explain comma-separated attribute values Robert P. J. Day
2019-03-16 13:13 ` Ævar Arnfjörð Bjarmason
2019-03-16 13:48   ` Robert P. J. Day
2019-03-16 21:58 ` Johannes Sixt
2019-03-16 22:09   ` Robert P. J. Day
2019-03-17  8:18     ` Johannes Sixt
2019-03-18 10:10       ` Philip Oakley

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).