threads / discuss / 24252

Forcing CRLF for files in a directory

Subject: Forcing CRLF for files in a directory

## tl;dr

3 messages between Jul 1, 2010 and Jul 1, 2010.

replies: 2people: 3as markdown or json

Ryan McCue· Jul 1, 2010, 12:12 UTC · lore
Hi there,

I'm working on a project at the moment which stores raw HTTP header data along with bodies for use during testing. As each header line must be separated by a CRLF, these need to remain so in the repository.

My question is: Do I need to do anything special to ensure these CRLFs aren't converted to LFs during checkout?

Thanks, Ryan.

Eyvind Bernhardsen· Jul 1, 2010, 13:37 UTC · re: Ryan McCue · lore

Re: Forcing CRLF for files in a directory

On 1. juli 2010, at 14.12, Ryan McCue wrote:
Show 5 quoted lines
> Hi there,
> 
> I'm working on a project at the moment which stores raw HTTP header data along with bodies for use during testing. As each header line must be separated by a CRLF, these need to remain so in the repository.
> 
> My question is: Do I need to do anything special to ensure these CRLFs aren't converted to LFs during checkout?
No.  As long as you don't set any attributes, git will by default leave your line endings alone on Linux.
You might get into trouble on Windows, because git defaults to converting line endings to CRLF on checkout (core.autocrlf=true) and gets confused when files are already checked in with CRLFs.  This problem is fixed in the upcoming 1.7.2 release.
-- 
Eyvind
Finn Arne Gangstad· Jul 1, 2010, 13:55 UTC · re: Ryan McCue · lore

Re: Forcing CRLF for files in a directory

On Thu, Jul 01, 2010 at 10:12:52PM +1000, Ryan McCue wrote:
Show 8 quoted lines
> Hi there,
>
> I'm working on a project at the moment which stores raw HTTP header data  
> along with bodies for use during testing. As each header line must be  
> separated by a CRLF, these need to remain so in the repository.
>
> My question is: Do I need to do anything special to ensure these CRLFs  
> aren't converted to LFs during checkout?

If you are working on Windows and have set autocrlf (default on in msysgit), they will be converted to LF only in the repo if they are auto-detected as text files, and will get LF when checked out on a system with autocrlf false.

You can force autocrlf to not think of a file as a text file by setting "-crlf" for that file in .gitattributes.

In the upcoming 1.7.2 release, autocrlf has been fixed to never autodetect files with mixed line endings in the repository as text files, but it will take considerable time before that version is used everywhere I guess. Also, this won't really help you if you create the files on Windows.

- Finn Arne

← back to recent threads