maček
maček

Reputation: 77778

Git: convert carriage return \r to new line \n with git hook?

A fellow coder uses a Windows computer that is putting carriage returns everywhere in our source.

Is there a way to write a git hook that converts all \r\n to \n?

Note I haven't used git hooks before, so a little extra hand-holding might go a long way :)

Upvotes: 8

Views: 11047

Answers (2)

VonC
VonC

Reputation: 1323973

The simplest thing is to set core.autocrlf to false on The Windows side.
(that way Git won't do any conversion and will keep the eol untouched).

On the unix side, a core.autocrlf set to true could help restore the proper eol.
As mathepic mentions in the comments, and as I described in this SO answer, since Git1.7.2, you can use core.eol (to native), keeping core.autocrlf to false.

Otherwise you can use a text driver or a filter driver with gitattributes files.
No hooks needed.

Upvotes: 11

Alex Howansky
Alex Howansky

Reputation: 53553

If they're using TortoiseGit, there's an option to do this for you, under Git->Config->Auto CRLF convert.

Upvotes: 1

Related Questions