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

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

From
Ralf Thielow <ralf.thielow@googlemail.com>
Date
Dec 16, 2011, 22:36 UTC
Message-ID
<CAN0XMOKts7UR6eSYWA9-xj-YCpprvhbqwfdbq4U6Hfrn0nUONQ@mail.gmail.com>
In-Reply-To
<7vehw4go0v.fsf@alter.siamese.dyndns.org>

Basicly I want to force the line endings of the files on my project. :/

2011/12/16 Junio C Hamano <gitster@pobox.com>:
Show 30 quoted lines
> Ralf Thielow <ralf.thielow@googlemail.com> writes:
>
>> So i have to commit ".gitattributes" and everything is fine for me after!?
>
> No.  Sorry if I was unclear, but I do not see which part was unclear in
> what I wrote, so...
>
>>> The sequence adds "test\r\n" file without .gitattributes to have the
>>> repository record that exact byte sequence for the file. But then later
>>> goes around and says "This file wants to express the end of line with CRLF
>>> on the filesystem, so please replace LF in the repository representation
>>> to CRLF when checking out, and replace CRLF in the working tree to LF when
>>> checking in".
>>>
>>> So it is not surprising that "\r\n" coming from the repository is replaced
>>> to "\r\r\n" when checked out. As far as the repository data is concerned,
>>> that line has a funny byte with value "\r" at the end, immediately before
>>> the line terminator "\n".
>>>
>>> What you said is _technically_ correct in that sense.
>>>
>>> However, I think the CRLF filter used to have a hack to strip "\r" if the
>>> repository data records "\r" at the end of line. This was intended to help
>>> people who checked in such a broken text file (if it is a text file, then
>>> raw ascii CR does not have a place in it in the repository representation)
>>> and it was a useful hack to help people recover from such mistakes to
>>> start the project from DOS-only world (with CRLF in the repository data)
>>> and migrate to cross platform world (with LF in the repository data, CRLF
>>> in the DOS working tree).  I suspect that the streaming filter conversion
>>> may not have the same hack in it.
Previous: Junio C HamanoNext: Junio C Hamano
Message 11 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.