git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Is the "text" attribute meant *only* to specify end-of-line normalization behavior, or does it have broader implications?

From
Jeff King <peff@peff.net>
Date
Mar 30, 2012, 07:25 UTC
Message-ID
<20120330072546.GC30656@sigill.intra.peff.net>
In-Reply-To
<4F7555BC.1000804@viscovery.net>
On Fri, Mar 30, 2012 at 08:42:04AM +0200, Johannes Sixt wrote:
Show 15 quoted lines
> Am 3/30/2012 4:19, schrieb Chris Harris:
> > I'm starting a new repository for a Windows-only project where I don't
> > think I want git to do any end-of-line normalization on my text files.
> > (I'm totally happy to have CRLFs both in the repo and in all the
> > working copies.)
> 
> The question is rather: Are you happy if someone commits a file that does
> *not* have CRLF, but only LF?
> 
> Because if you don't care, you are better off setting no attributes and no
> core.autocrlf and no core.eol at all. The git will take the file
> unmodified. If someone's editor changes the eol style of a file, it will
> be noticed because the diff will show that the entire file has changed.
> Your team mates should better have enough discipline not to ignore such a
> hint that something's gone awry, of course.

I think it may be slightly more complex than that. He may be OK with "git does nothing" and assuming everybody's editor does the sane thing. But he may _not_ be OK with a stray core.autocrlf setting in a project member's git config normalizing all line endings whenever they touch a file. Setting "-text" prevents the latter.

> (I didn't answer the question in the subject of your message, and I can't;
> I don't use the text attribute nor eol normalization, even though I work
> on Windows quite a lot.)
I don't use them either.

However, I find the behavior of "Git Extensions" to be questionable. I can see the rationale for thinking that "-text" means more than just handling line-endings, but I think "-diff" is probably a better choice for seeing if something is binary (or even checking the "binary" macro). Those are what git uses itself.

Perhaps it was a mistake to call it "text", as it invites this sort of confusion.

-Peff
PS I think one could potentially work around the whole issue by setting
   "-crlf", which git treats equivalently to "-text" these days (and
   hopefully isn't also checked by Git Extensions).
Previous: Johannes SixtNext: Chris Harris
Message 3 of 6 in “Is the "text" attribute meant *only* to specify end-of-line normalization behavior, or does it have broader implications?”
  1. Chris HarrisMar 30, 2012
  2. Johannes SixtMar 30, 2012
  3. Jeff KingMar 30, 2012
  4. Chris HarrisMar 30, 2012
  5. Junio C HamanoMar 30, 2012
  6. Jeff KingMar 30, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.