I am trying to formalize a patch workflow for our org. We have an internal project where we don't mind white-spaces(would like to keep them same for each user if possible), EOF/EOL characters etc. We have developers working on both Mac and Windows platform. AT both places we use git with Cygwin.
I read here that core.autocrlf true does the trick or you can use --keep-cr
.
But here VonC suggests core.autocrlf
false is a better strategy.
My Questions are:
- When to use true and when false? (I just don't want git to bug me and patches should apply smooth).
- When was
--keep-cr
introduced? I use git 1.7.2 and am man page does not have this option? - What Ignore-whitespace options to use so as to have smooth patch workflow?
1.7.2 should have
--keep-cr
for git am, since it was introduced in commit ad2c928 by Stefan-W. Hahn, included in Git 1.7.1.However, on Windows, I always use the latest Git For Windows release, not the cygwin one (even though you can have both).
The issue with
core.autocrlf
is that it is a repository-wide setting which can affect all files (even non-text ones).I prefer
core.eol
directives.For whitespace, you can try "git: patch does not apply":