.gitconfig
[core]
autocrlf = true
safecrlf = false
I have reviewed that kind of config setting (crlf
) extensively in the question:
distributing git configuration with the code.
The conclusion was:
*.java +crlf *.txt +crlf ...
git status
, shell environment and svn import
(see "distributing git configuration with the code" for links and references).crlf
conversion altogether if you can.Now, regarding the specific issue of per-platform settings, branch is not always the right tool, especially for non-program related data (i.e; those settings are not related to what you are developing, only to the VCS storing the history of your development)
As stated in the question Git: How to maintain two branches of a project and merge only shared data?:
your life will be vastly simpler if you put the system-dependent code in different directories and deal with the cross-platform dependencies in the build system (Makefiles or whatever you use).
In this case, while branches could be use for system-dependent code, I would recommend directory for support tools system-dependent settings, with a script able to build the appropriate .gitattributes
file to apply the right setting depending on the repo deployment platform.