Re: mingw, windows, crlf/lf, and git
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Feb 13, 2007, 17:23 UTC
- Message-ID
- <Pine.LNX.4.64.0702130919100.8424@woody.linux-foundation.org>
- In-Reply-To
- <Pine.LNX.4.64.0702130845330.8424@woody.linux-foundation.org>
On Tue, 13 Feb 2007, Linus Torvalds wrote:
Show 10 quoted lines
> > I'd much rather just get this right, and that means "no hooks". If people > start using commit hooks etc, that will just mean that they won't use them > for all-windows environments (why use it? Everybody hass CRLF, and > everybody _wants_ CRLF), or it will just be relatively expensive to have a > complex hook anyway. > > So I think we should plan on something like .gitattributes or similar, so > that we _can_ handle mixed environments well, without any real setup or > any real costs.
Here's a patch that I think we can merge right now. There may be other places that need this, but this at least points out the three places that read/write working tree files for git update-index, checkout and diff respectively. That should cover a lot of it.
Some day we can actually implement it. In the meantime, this points out a place for people to start. We *can* even start with a really simple "we do CRLF conversion automatically, regardless of filename" kind of approach, that just look at the data (all three cases have the _full_ file data already in memory) and says "ok, this is text, so let's convert to/from DOS format directly".
THAT somebody can write in ten minutes, and it would already make git much nicer on a DOS/Windows platform, I suspect.
And it would be totally zero-cost if you just make it a config option (but please make it dynamic with the _default_ just being 0/1 depending on whether it's UNIX/Windows, just so that UNIX people can _test_ it easily).
Linus