On Tue, May 25, 2010 at 08:41:14AM +0200, Eyvind Bernhardsen wrote: > On 25. mai 2010, at 00.11, Clemens Buchacher wrote: > > > And once we normalized the file to LF, why don't we also checkout > > that version, or at least mark it as dirty in the index, so a reset > > --hard will fix it up? > > I dunno. Won't it be even more confusing that the file is still > dirty after you add it? The problem with converting it in the > working directory when you add is that it loses information: if > you didnt' want that file to be converted, there's no way to > revert (this is very bad if it's a file that contained a mix of > CRLF and LF). I was trying to illustrate this with a test script, but after playing with this some more, I noticed that this is not a problem with your changes, since I can reproduce with git v1.7.0.5: #!/bin/sh cd $(mktemp -d) git init git config core.autocrlf input echo -n 'hi\r\nbye\r\n' > file git add file git commit -m initial # no output git diff --name-status sleep 1 touch file # file dirty git diff --name-status # at this point, reset --hard would convert 'file' to LF in the # work tree git update-index file # no output git diff --name-status The same behavior can be observed with the 'eol=lf' attribute, before and after normalizing the file. Regards, Clemens --- $ sh -x testcrlf2.sh + set -e + mktemp -d + cd /tmp/tmp.Smnx0U7IT1 + git init Initialized empty Git repository in /tmp/tmp.Smnx0U7IT1/.git/ + git config core.autocrlf input + echo -n hi\r\nbye\r\n + git add file warning: CRLF will be replaced by LF in file. + git commit -m initial [master (root-commit) d3be96f] initial warning: CRLF will be replaced by LF in file. 1 files changed, 2 insertions(+), 0 deletions(-) create mode 100644 file + git diff --name-status + sleep 1 + touch file + git diff --name-status M file + git update-index file warning: CRLF will be replaced by LF in file. + git diff --name-status -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html