From: Abdelrazak Younes Date: Wed, 09 Jan 2008 08:43:12 GMT Subject: Re: CRLF problems with Git on Win32 Message-ID: In-Reply-To: Linus Torvalds wrote: > > > On Tue, 8 Jan 2008, Dmitry Potapov wrote: >> Perhaps, this option can be called core.autocrlf=safe > > We already do half of that: > > if (action == CRLF_GUESS) { > /* > * We're currently not going to even try to convert stuff > * that has bare CR characters. Does anybody do that crazy > * stuff? > */ > if (stats.cr != stats.crlf) > return 0; > > but we don't check that there are no "naked" LF characters. > > So the only thing you'd need to add is to add a > > /* No naked LF's! */ > if (safecrlf && stats.lf) > return 0; > > to that sequence too, but the thing is, having mixed line-endings isn't > actually all that unusual, so I think that kind of "autocrlf=safe" thing > is actually almost useless - because when that thing triggers, you almost > always *do* want to convert it to be just one way. Sorry for the irruption in this discussion but as a potential git user for cross-platform development I'd like to share my experience/opinion, hope you don't mind. I am investigating the use of git for our cross-platform project which uses svn currently. In our project, we mark manually *all* source file (*.h and *.cpp) with 'eol-style=native'. This way, if some editor on Windows added some CRLF in such marked file, svn will refuse to commit this file until you clean it up. This means that all C/C++/python files uses LF eol exclusively on all platforms. I believe this is the only sane way to do cross-platform development. Now, marking any new file manually is cumbersome and some developers often forget to do it. I would like to be able mark all files with a given extension (.c, .cpp, .h) with "LF only". This way, Windows only files (like visual studio projects) can stay with CRLF. It would be fantastic if git could do that. > > I've seen it multiple times when people cooperate with windows files with > unix tools, where unix editors often preserve old CRLF's, but write new > lines with just LF. Multiple versions of Visual studio do just this indeed. Abdel.