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 :)
text eol=crlf Git will always convert line endings to CRLF on checkout. You should use this for files that must keep CRLF endings, even on OSX or Linux. text eol=lf Git will always convert line endings to LF on checkout. You should use this for files that must keep LF endings, even on Windows.
autocrlf is set to false on a fresh install of Git, meaning Git won't perform any line ending normalization. Instead, Git will defer to the core. eol setting to decide what line endings should be used; core. eol defaults to native , which means it depends on the OS you're using.
autocrlf . This is a similar approach to the attributes mechanism: the idea is that a Windows user will set a Git configuration option core. autocrlf=true and their line endings will be converted to Unix style line endings when they add files to the repository.
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.
If they're using TortoiseGit, there's an option to do this for you, under Git->Config->Auto CRLF convert.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With