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

Re: [RFC/PATCH v3 4/5] Rename "crlf" attribute as "eolconv"

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
May 14, 2010, 21:27 UTC
Message-ID
<alpine.LFD.2.00.1005141421560.3711@i5.linux-foundation.org>
In-Reply-To
<7DF58EB2-F6A0-47FB-BC89-72757B29FAE6@gmail.com>
On Fri, 14 May 2010, Eyvind Bernhardsen wrote:
Show 13 quoted lines
> On 13. mai 2010, at 23.45, Linus Torvalds wrote:
> 
> > On Thu, 13 May 2010, Eyvind Bernhardsen wrote:
> >> 
> >> Do you agree that "native" eol should only be CRLF if autocrlf is true?  
> > 
> > Not really. We're trying to get _away_ from .gitattributes depending on 
> > autocrlf, aren't we?
> 
> I'm not sure we still are.  I certainly was when I started this series, 
> but that was because autocrlf just plain didn't work with many existing 
> repositories.  When "safe autocrlf" fixed that, I decided that the extra 
> complexity of core.eolStyle wasn't worth it.

The thing is, I disagree with your notion of "safe autocrlf". I think it's ugly, and I don't think it's safe at all. It adds a _feeling_ of safety that isn't actually safe.

In short:
 - core.autocrlf is _always_ dangerous. Your "safe" thing isn't any safer 
   at all, since it depends on something that isn't reliable (previous 
   state).
   Example: new binary files, or changed files, or renames.
 - so if you want text conversion, but you want it to be truly safe, and 
   only happen for certain files, YOU MUST NOT ENABLE autocrlf.
 - Ergo: if you make the .gitattributes behaviour depend on autocrlf, 
   you're still screwed, and you've not actually improved on anything at 
   all in the end.

It's really that simple. I think "autocrlf" actually works pretty well, but at the same time, I think we made mistakes in the initial design. Let's not make them again.

		Linus
Previous: Eyvind BernhardsenNext: Eyvind Bernhardsen
Message 24 of 27 in “End-of-line normalization, redesigned”
  1. 0/5 End-of-line normalization, redesignedEyvind Bernhardsen, May 12, 2010
  2. 1/5 autocrlf: Make it work also for un-normalized repositoriesEyvind Bernhardsen, May 12, 2010
  3. 2/5 Add tests for per-repository eol normalizationEyvind Bernhardsen, May 12, 2010
  4. 3/5 Add per-repository eol normalizationEyvind Bernhardsen, May 12, 2010
  5. 4/5 Rename "crlf" attribute as "eolconv"Eyvind Bernhardsen, May 12, 2010
  6. Linus TorvaldsMay 13, 2010
  7. Robert BuckMay 13, 2010
  8. Robert BuckMay 13, 2010
  9. Eyvind BernhardsenMay 13, 2010
  10. Robert BuckMay 13, 2010
  11. utf8 BOMDmitry Potapov, May 14, 2010
  12. Eyvind BernhardsenMay 15, 2010
  13. Dmitry PotapovMay 16, 2010
  14. Eyvind BernhardsenMay 16, 2010
  15. TaitMay 16, 2010
  16. Dmitry PotapovMay 16, 2010
  17. Eyvind BernhardsenMay 13, 2010
  18. Linus TorvaldsMay 13, 2010
  19. Robert BuckMay 14, 2010
  20. Jonathan NiederMay 14, 2010
  21. Eyvind BernhardsenMay 14, 2010
  22. Eyvind BernhardsenMay 14, 2010
  23. Eyvind BernhardsenMay 14, 2010
  24. Linus TorvaldsMay 14, 2010
  25. Add "core.eol" variable to control end-of-line conversionEyvind Bernhardsen, May 15, 2010
  26. Robert BuckMay 16, 2010
  27. 5/5 Rename "core.autocrlf" config variable as "core.eolconv"Eyvind Bernhardsen, May 12, 2010

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.