Subject: Re: [PATCH 2/2] checkout: fix attribute handling in checkout all

From: Marius Storm-Olsen <[email-masked]>
Date: Mon, 13 Aug 2007 10:39:54 +0200

Steffen Prohaska said the following on 13.08.2007 09:32:
> On Aug 13, 2007, at 9:15 AM, Marius Storm-Olsen wrote:
>> Steffen Prohaska said the following on 13.08.2007 08:50:
>>> We should really make autocrlf = true the default for us and
>>> fix all problems that we'll encounter. There may be more tricky
>>> stuff ahead, like merges, cherry-picks, ...
>> I'm more leaning towards having the installer give you the option
>>  to choose what kind of line-endings you want Git to work with;
>> just like the Cygwin installer.
> 
> Which is the root of much trouble with Cygwin. People now say, git
> works perfectly in Cygwin but forget to mention that they mean
> Cygwin A (in binmode) but not Cygwin B (in textmode).
> 
> Better choose the right default and work hard to make the default
> choice work perfectly. I am strongly against an option in the
> installer. An option _will_ cause confusion. Better give people a
> hint how they can override the default for a single user, or for a
> single repo. Then they recognize that they move to a non-default
> configuration and hopefully think twice. And we never need to talk
> about msysgit A vs. msysgit B, but only about msysgit with repo
> specific or user specific options.
> 
> For me, the question comes down to the following: What would the 
> average Windows user (real Windows user, not Linux user who was 
> forced to work in Cygwin!) expect git to do with line endings? The
> answer to this question should be the default.

If we were talking about a huge amount (real) Windows users I would 
agree with you. However, currently most of the users using Git on 
Windows are Unix users which for some reason have to work on Windows 
every now and then. And changing the default option to autocrlf=true 
would be stepping on their toes, which we probably don't want to do :-)

I'm a Windows developer myself, so I naturally have autocrlf=true in 
my global settings. I don't think having the option in the installer 
(together with other things, like setting the global username, and 
email for example) would be such a bad thing. The problem with the way 
the Cygwin installer presents it is that it doesn't explain the pros 
and cons of the two options; it just recommends Linux EOL, which leads 
to confusion with some Windows developers. If we properly explain the 
issue in the installer, and say we recommend Windows EOL for Windows 
developers, I think it's OK. It would in any case be better than the 
current state where you have no option, or stepping on all the current 
msysgit/mingw-git maintainers toes.

-- 
.marius