On Thu, May 6, 2010 at 10:00 PM, hasen j <hasan.aljudy@xxxxxxxxx> wrote: > On 6 May 2010 11:15, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: >> >> >> On Thu, 6 May 2010, hasen j wrote: >>> >>> I don't know all linux editors, but I've yet to see one that can't >>> handle CRLF endings. >> >> A _lot_ of UNIX editors will handle CRLF endings, but if you change a >> file, they often write the result back with _mixed_ endings. Some will >> also show the CR as '^M' or some other garbage at the end. >> >> A number of tools will also end up confused, including very fundamental >> things like "grep". Try this: >> >> echo -e "Hello\015" > f >> grep 'Hello$' f >> >> and notice how the grep does _not_ find the Hello at the end of the line, >> because grep sees another random character there (this might be >> unportable, I could easily imagine some versions of grep finding it). >> >> So I would strongly suggest against CRLF on UNIX. It really doesn't work >> very well, even if some tools will handle it to some limited degree. >> >> In short: having 'core.autocrlf' set will likely make it much more >> pleasant to work across different platforms. >> >> Linus >> > > When I'm on windows, I prefer LF (unless the project already uses > CRLF, or it's outside my control). > "When I'm on windows" leads me to believe Windows is not your primary operating system. If not, please excuse me. > My problem with autocrlf is that, well, it converts line endings in > the working directory to CRLF, even though I don't always want it to. > (most of the time, I don't). > There's gitattributes for that. > The other problem is, git will get confused if you set autocrlf *after > the fact*; i.e. you already cloned and have the files checked out, > maybe even made some commits. > core.autocrlf being on by default in Git for Windows greatly reduces the risk for this. I with core.autocrlf was set to "input" by default on other platforms, though. > Overall, I ran into many awkward situations with autocrlf (and I can't > remember them now), but if you google you can find some of the issues > people are having. > > The whole problem would go away if there was no crlf, and that's not > impossible: any decent text editor can read/write files with Unix line > endings. > That's probably on of the things that makes a text-editor decent in your book, but this opinion might not be shared with everyone. Perhaps not being primarily a Windows-user somehow biases your opinion here? > I wasn't aware that Visual Studio doesn't have an easy way to have it > write LF endings by default; I'm sure there are addons to make that > easier. Plus most open source projects are not usually setup with VS > as the development environment anyway, so it's really not a big > problem. The problem with Visual Studio isn't that it doesn't write LFs normally... the problem is that when you paste text, it retains the newline style from the source you copied from. But it is not the only tool with such issues, so playing the "VS is the problem"-card doesn't stick IMO. Even if it did, Open source isn't the only model for developing software. And again... even if it were, working well together with visual studio support would be very beneficial for quite a bit of projects. Visual Studio is probably the most used code-editor among Windows-developers (with a good margin too, I suspect), so ignoring it is would just be sticking your head in the sand - or worse, asking for less contributions from Windows-users (which can often be a problem in the first place). So no, I strongly doubt LF everywhere is the better way ;) -- Erik "kusma" Faye-Lund -- 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