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

Re: [PATCH/RFC v2 1/4] Add "core.eolStyle" variable to control end-of-line conversion

From
Dmitry Potapov <dpotapov@gmail.com>
Date
May 10, 2010, 08:13 UTC
Message-ID
<20100510081358.GD14069@dpotapov.dyndns.org>
In-Reply-To
<20100509200935.GA22563@pvv.org>
On Sun, May 09, 2010 at 10:09:37PM +0200, Finn Arne Gangstad wrote:
Show 6 quoted lines
> 
> So maybe, just maybe, we can make everything sufficiently good by
> repairing "core.autocrlf = {input,true}" so that git will not convert
> a CRLF already in the repo. This would make autocrlf = true a safe
> default value (and probably input too, but you'd have to "do
> something" to get a new text file with CRLF into the repo then).

First of autocrlf is safe as it is implemented now. Second, to do something to get a new with CRLF into the repo is really stupid. The whole point of autocrlf is being automatic and do not have the user to worry about CRLF when he adds a new file.

The only real problem I am aware of is that some repository are not compatible with autocrlf conversion, because they store text files with different endings and do not have appropriate .gitatributes to describle what text files should and should not be converted. So, each user has to disable autocrlf in them manually and then re-checkout all files using (rm -rf * && git checkout -f), which is confusing for many users. In fact, you do not have to disable autocrlf, you can add a few lines to .git/info/attributes to make it autocrlf compatible, but again many users even not aware about this file, let alone what needs to be added. Further, the problem amplified by the fact that you have to do the same procedure every time when you do cloning, and though cloning is not most common operation, it happens often enough to annoy many users.

I believe that the right solution is to be able to enable autocrlf but only for those repositories that are marked as autocrlf compatible by upstream.

Dmitry
Previous: Finn Arne GangstadNext: Finn Arne Gangstad
Message 31 of 37 in “End-of-line normalization, take 2 (now only slightly scary)”
  1. 0/4 End-of-line normalization, take 2 (now only slightly scary)Eyvind Bernhardsen, May 8, 2010
  2. 1/4 Add "core.eolStyle" variable to control end-of-line conversionEyvind Bernhardsen, May 8, 2010
  3. Linus TorvaldsMay 8, 2010
  4. Eyvind BernhardsenMay 8, 2010
  5. Eyvind BernhardsenMay 8, 2010
  6. Linus TorvaldsMay 8, 2010
  7. Eyvind BernhardsenMay 9, 2010
  8. Linus TorvaldsMay 9, 2010
  9. Eyvind BernhardsenMay 9, 2010
  10. Dmitry PotapovMay 9, 2010
  11. hasen jMay 9, 2010
  12. Dmitry PotapovMay 10, 2010
  13. Eyvind BernhardsenMay 9, 2010
  14. Eyvind BernhardsenMay 9, 2010
  15. Robert BuckMay 9, 2010
  16. Eyvind BernhardsenMay 9, 2010
  17. Robert BuckMay 9, 2010
  18. Eyvind BernhardsenMay 10, 2010
  19. Robert BuckMay 10, 2010
  20. Robert BuckMay 10, 2010
  21. Dmitry PotapovMay 10, 2010
  22. Jay SoffianMay 9, 2010
  23. Jay SoffianMay 9, 2010
  24. Eyvind BernhardsenMay 10, 2010
  25. Junio C HamanoMay 9, 2010
  26. Finn Arne GangstadMay 9, 2010
  27. Junio C HamanoMay 9, 2010
  28. Eyvind BernhardsenMay 10, 2010
  29. Eyvind BernhardsenMay 9, 2010
  30. Finn Arne GangstadMay 9, 2010
  31. Dmitry PotapovMay 10, 2010
  32. Finn Arne GangstadMay 10, 2010
  33. Dmitry PotapovMay 10, 2010
  34. Finn Arne GangstadMay 9, 2010
  35. 2/4 Add tests for per-repository eol normalizationEyvind Bernhardsen, May 8, 2010
  36. 3/4 Pass eol conv mode as an argument instead of using global auto_crlfEyvind Bernhardsen, May 8, 2010
  37. 4/4 Add per-repository eol normalizationEyvind Bernhardsen, May 8, 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.