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

Re: core.autocrlf considered half-assed

From
Dmitry Potapov <dpotapov@gmail.com>
Date
Mar 7, 2010, 09:27 UTC
Message-ID
<20100307092701.GC31105@dpotapov.dyndns.org>
In-Reply-To
<alpine.DEB.1.00.1003060018170.20986@pacific.mpi-cbg.de>
On Sat, Mar 06, 2010 at 12:23:33AM +0100, Johannes Schindelin wrote:
Show 5 quoted lines
> 
> back then, I was not a fan of the core.autocrlf support. But I have to 
> admit that in the meantime, I turned into an outright un-fan of the 
> feature. Not because its intent is wrong, but because its implementation 
> is lousy.

Well, I agree there are some issues with it. In particularly, when someone changes core.autocrlf in his/her repository, and then git behavior is outright confusing. IMHO, the nuts of the problem is that does not store in the index how files were checkout. Instead it uses core.autocrlf, which specifies how the user _wants_ files to be check- out. So, when the autocrlf option changes, things get very confusing. However:

> Just try to "git reset --hard" or "git stash" when there are files with 
> DOS line endings and when core.autocrlf is not false.
I did, and I have not noticed any problem with that.

git init git config core.autocrlf true echo foo^ | tr ^ '\r' > foo git add foo git commit -m 'add foo' echo more^ | tr ^ '\r' >> foo echo "Before reset:" tr '\r' ^ < foo git reset --hard echo "After reset:" git diff tr '\r' ^ < foo

Dmitry
Previous: Johannes SchindelinNext: Linus Torvalds
Message 2 of 12 in “core.autocrlf considered half-assed”
  1. Johannes SchindelinMar 5, 2010
  2. Dmitry PotapovMar 7, 2010
  3. Linus TorvaldsMar 7, 2010
  4. TaitMar 8, 2010
  5. Johannes SchindelinMar 8, 2010
  6. Junio C HamanoMar 8, 2010
  7. Johannes SchindelinMar 9, 2010
  8. Junio C HamanoMar 9, 2010
  9. Johannes SchindelinMar 8, 2010
  10. Dmitry PotapovMar 9, 2010
  11. Johannes SchindelinMar 9, 2010
  12. Dmitry PotapovMar 9, 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.