What will `* text=auto eol=lf` in gitattributes do?

Borek Bernard picture Borek Bernard · Apr 3, 2015 · Viewed 10.7k times · Source

We have this in our .gitattributes file:

* text=auto eol=lf

I'd like to precisely understand what this does.

The first part is text=auto. From the documentation:

This ensures that all files that Git considers to be text will have normalized (LF) line endings in the repository.

The important part is that Git does the normalization only for files that it detects as text files.

However, I'm not sure about the eol=lf part. I would think that it will also do the normalization only for text files but I can't find support for it in the documentation and we had an instance when our PNG files were normalized too, making them invalid.

Is there a settings like the above that would basically say "do the normalization in both directions for text files, and leave binary files alone"?

Answer

Borek Bernard picture Borek Bernard · Dec 5, 2016

Git 2.10 fixed this and now behaves as one would expect.