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
Attachment:
signature.asc
Description: OpenPGP digital signature