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

Re: [BUG] attribute "eol" with "crlf"

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Dec 16, 2011, 18:21 UTC
Message-ID
<vpqr504wf70.fsf@bauges.imag.fr>
In-Reply-To
<CAN0XMO+OOdTJ+aNMSc2G3RVc7Wfypr4+7dU3US9GVAmMiSJ7cg@mail.gmail.com>
Ralf Thielow <ralf.thielow@googlemail.com> writes:
Show 11 quoted lines
> There's a bug in git-1.7.8 if you use the attribute "eol" with "crlf".
>
> Steps to reproduce:
> - add and commit a text file which uses 0d0a for line breaks
> 7465 7374 0d0a 0d0a 7465 7374 0d0a       test....test..
> - add ".gitattributes" with "*.txt eol=crlf"
> - change a line in the file
> - execute "git checkout [file]"
>
> The result is:
> 7465 7374 0d0d 0a0d 0d0a 7465 7374 0d0d  test......test..

It seems to me to be the expected behavior. You committed a file whose line endings are not normalized to LF in the repository, and asked for a conversion LF -> CRLF on checkout, which Git did.

Git can't know exactly the moment when you edit .gitattributes, so it can't do the conversion at the time you add the eol=crlf attribute. It does it on checkout.

> 0d0a was replaced by 0d0d0a.
I'd say 0a (LF) was replaced by 0d0a (CRLF).
What behavior would you have expected?
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Ralf ThielowNext: Ralf Thielow
Message 4 of 15 in “[BUG] attribute "eol" with "crlf"”
  1. Ralf ThielowDec 16, 2011
  2. Junio C HamanoDec 16, 2011
  3. Ralf ThielowDec 16, 2011
  4. Matthieu MoyDec 16, 2011
  5. Ralf ThielowDec 16, 2011
  6. Adam BorowskiDec 16, 2011
  7. Ralf ThielowDec 16, 2011
  8. Junio C HamanoDec 16, 2011
  9. Ralf ThielowDec 16, 2011
  10. Junio C HamanoDec 16, 2011
  11. Ralf ThielowDec 16, 2011
  12. Junio C HamanoDec 16, 2011
  13. Junio C HamanoDec 16, 2011
  14. Ralf ThielowDec 17, 2011
  15. Junio C HamanoDec 17, 2011

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.