Re: [PATCH 2/2] checkout: fix attribute handling in checkout all
- From
Marius Storm-Olsen <marius@trolltech.com>
- Date
- Aug 13, 2007, 06:32 UTC
- 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..)
Show 13 quoted lines
> 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