threads / discuss / 41022

No auto CRLF conversion in Commit Message comments

Subject: No auto CRLF conversion in Commit Message comments

## tl;dr

3 messages between Dec 16, 2015 and Dec 17, 2015.

replies: 2people: 3as markdown or json

Harfoot A.J.· Dec 16, 2015, 15:13 UTC · lore
Hi there,
I'm new to Git, so apologies if this is already available, but after some searching and experimenting I haven't been able to resolve it.
I am running Git 2.6.4.windows.1 on Windows 7 64 bit.
I have the global configuration variable core.autocrlf=true

When I commit, the commit message template file is loaded into my configured text editor (in this case Windows Notepad), however the comment lines are terminated with LF, not CRLF, and so are not displayed as new lines by Notepad. In the opposite direction, the output of 'git log' redirected to a file has all EOL characters set to LF, when originally entered as CRLF, so automatic conversion is working

I have tried to generate a custom commit message using the commit.template variable, but the commented lines are appended to this file, creating a mixture of EOL characters!
Is there a way to fix this inconsistency?
Cheers,
Andy
-- 
Andy Harfoot

GeoData Institute
University of Southampton
Southampton
SO17 1BJ

Tel:  +44 (0)23 8059 2719
Fax:  +44 (0)23 8059 2849

www.geodata.soton.ac.uk
Johannes Schindelin· Dec 16, 2015, 16:45 UTC · re: Harfoot A.J. · lore

Re: No auto CRLF conversion in Commit Message comments

Hi A.J.,
On Wed, 16 Dec 2015, Harfoot A.J. wrote:
Show 11 quoted lines
> I'm new to Git, so apologies if this is already available, but after
> some searching and experimenting I haven't been able to resolve it.
> 
> I am running Git 2.6.4.windows.1 on Windows 7 64 bit.
> 
> I have the global configuration variable core.autocrlf=true
> 
> When I commit, the commit message template file is loaded into my
> configured text editor (in this case Windows Notepad), however the
> comment lines are terminated with LF, not CRLF, and so are not displayed
> as new lines by Notepad.

The core.autocrlf=true setting affects only Git's operation when it adds file contents to the index or writes files from the index.

However, if you have `core.editor = notepad`, it should Just Work because there is a `notepad` helper that performs the LF<->CR/LF translation transparently.

> In the opposite direction, the output of 'git log' redirected to a file
> has all EOL characters set to LF, when originally entered as CRLF, so
> automatic conversion is working
Somehow I doubt that `git log` transforms CR/LF to LF...
> I have tried to generate a custom commit message using the
> commit.template variable, but the commented lines are appended to this
> file, creating a mixture of EOL characters!

I am afraid that the only way to keep that consistent would be to ensure that your commit.template has the same line endings as your editor produces.

Ciao, Johannes

Andrew Harfoot· Dec 17, 2015, 11:58 UTC · re: Johannes Schindelin · lore

Re: No auto CRLF conversion in Commit Message comments

Hi Johannes,
On 16/12/2015 16:45, Johannes Schindelin wrote:
> However, if you have `core.editor = notepad`, it should Just Work because
> there is a `notepad` helper that performs the LF<->CR/LF translation
> transparently.
The problem in my case was that I had
`core.editor = notepad.exe`

This wasn't triggering the helper, I've changed it, dropping the '.exe' and it now works nicely.

Thanks for your help,
Andy
-- 
Andy Harfoot

GeoData Institute
University of Southampton
Southampton
SO17 1BJ

Tel:  +44 (0)23 8059 2719
Fax:  +44 (0)23 8059 2849

www.geodata.soton.ac.uk

← back to recent threads