Okay, here's a second shot at my end-of-line conversion sanification series. The main change is that instead of introducing a new attribute, I've added a new mode to the "crlf" attribute: "crlf=auto". The semantics of "crlf" have also been modified slightly in that the attribute now enables end-of-line normalization whenever it is set, instead of simply amending what happens when "core.autocrlf" is enabled as it did before. I think this version is a step in a direction that everyone can agree on. The new config variable seems to be a point of contention, but while I'm not married to the name "core.eolStyle" by any means, I don't think "core.crlf" explains what it is, and I don't think "input" and "true" are good ways of describing what it does. I agree with Linus that "crlf=input" seems crazy, and I agree with Dmitry that "crlf" is a bad name for the attribute to begin with. This isn't bikeshedding: git has lost a lot of its sharp edges recently, but this one remains, and is quite an important one for Windows users. For now, though, I'd like the focus for this patch series to be creating a mechanism that allows a project to enforce line ending normalization for all contributors to the repository, while letting the user decide what line endings he likes to see in his working directory. If we end up not shooting anybody in the head, all the better. Thanks for all your inputs. I was worried that nobody would even notice this series :) I've expanded the Cc list a bit, hope that's okay. Eyvind Bernhardsen (4): Add "core.eolStyle" variable to control end-of-line conversion Add tests for per-repository eol normalization Pass eol conv mode as an argument instead of using global auto_crlf Add per-repository eol normalization Documentation/config.txt | 11 ++- Documentation/gitattributes.txt | 71 +++++++++++----- Makefile | 3 + cache.h | 19 ++++ config.c | 16 +++- convert.c | 52 +++++++++--- environment.c | 1 + t/t0025-crlf-auto.sh | 180 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 317 insertions(+), 36 deletions(-) create mode 100755 t/t0025-crlf-auto.sh -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html