Re: Surprising interaction of "binary" and "eol" gitattributes
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Mar 11, 2015, 20:30 UTC
- Message-ID
- <5500A5F7.1000503@kdbg.org>
- In-Reply-To
- <xmqqsidcxy2q.fsf@gitster.dls.corp.google.com>
Am 10.03.2015 um 23:54 schrieb Junio C Hamano:
Show 23 quoted lines
> Michael Haggerty <mhagger@alum.mit.edu> writes: > >> Well, that's true, but the "eol" attribute can regain its effect if >> "binary" is followed by "text" or "text=auto". So I guess the simplest >> question is as follows. Suppose I have the following .gitattributes: >> >> a.foo eol=crlf >> a.foo binary >> a.foo text >> >> It is obvious in this case that a.foo should be treated as a text file. >> Should it be processed with "eol=crlf", or should the intervening >> "binary" imply "-eol"? > > I would say former. You find out what attributes apply to a path > and then consider the collective effect of these attributes that > survived. > > So the second "No it is not text" which is overruled by the "oops, > no that is text" later should not get in the picture, I would say. > > As binary is not just -text and turns other things off, those other > things will be off after these three.
Is that how attribute lookup works? I.e., given a path, all attributes are collected?
Isn't it more like: Here we are interested in the "eol" attribute of this file named "a.foo". And the lookup would find the first line that says "eol=crlf". Elsewhere, we are interested in the "binary" attribute of the file named "a.foo", and lookup would find the second line that sets the "binary" attribute. And again elsewhere, we ask for the "text" attribute, and we find the last line that sets the "text" property.
Am I totally off track?
-- Hannes