From: Marius Storm-Olsen Date: Mon, 13 Aug 2007 06:32:58 GMT Subject: Re: [PATCH 2/2] checkout: fix attribute handling in checkout all Message-ID: <46BFFB1A.4070704@trolltech.com> In-Reply-To: <7vfy2ogdvl.fsf@assigned-by-dhcp.cox.net> Junio C Hamano said the following on 13.08.2007 08:14: > Ok, let's step back a bit and I'll suggest an alternative > approach to your 1/2. This would hopefully solve 2/2 without > any code change your patch 2/2 has. (..snip..) > I think this approach is very much in line with how the git > plumbing works, but you would need to know how the world is > designed to work in order to appreciate it fully. Let's have a > few paragraphs to give the readers some background. (..snip..) > Currently, the attr_stack code reads only from the work tree > and work tree alone. We could change it to: > > - If the directory on the work tree has .gitattributes, use it > (this is what the current code does); > > - Otherwise if the index has .gitattributes at the > corresponding path, use that instead. > > This essentially treats not having .gitattributes files checked > out as equivalent to having these files checked out unmodified, > which is very much in line with how the world is designed to > work. ACK! We really need this! :-) In msysgit.git/etc/.gitattributes we have 'termcap -crlf', to avoid the termcaps being checked out with Windows EOL, if the user happens to have 'autocrlf = true'. However, when you checkout the working dir the first time it still has Windows EOL due to exactly this problem. The above algorithm would alleviate this issue. -- .marius