Mark Levedahl <mlevedahl@xxxxxxxxxxx> writes: > I am trying autoCRLF in git compiled from next (75415c455dd307), find > some behavior that is probably different than desired dealing with a > file where the only changes are to line endings: > > create a text file (foo) with \n endings, check it in. > $ u2d foo > $ git diff foo > diff --git a/foo b/foo > $ git status > # On branch master > # Changed but not updated: > # (use "git add <file>..." to update what will be committed) > # > # modified: foo > # > $ git ci -m 'x' foo > # On branch master > nothing to commit (working directory clean) > > So, git commit will not check in the file, but git status shows an > unclean file and git diff shows no actual differences. Unless you are doing something other than what you demonstrated above, I think what 'diff' and 'commit' steps show is expected, even without autoCRLF. 'git status' might be buggy. create a file (foo), check it in. $ touch foo $ git diff foo diff --git a/foo b/foo $ git commit -m 'x' foo # On branch master nothing to commit (working directory clean) So in order to validate my conjecture that 'git-status' is buggy, can you try this: (1) Do your sequence from "create a text file (foo) with \n endings" to "git ci -m 'x' foo", as you depicted above. (2) Without doing anything else, run "git diff" again, With my sequence above, "git diff" should say nothing because "update-index --refresh" run inside "git-status" (and "git-commit") would notice 'foo' has not changed. Ah, I know what is going on. "update-index --refresh" notices that lstat(2) says the size is different between what is recorded in the index, and does not actually compare and refresh the entry. But that is a very important optimization, and I do not think we would want to cripple that for autoCRLF. I think this should work for you. create a text file (foo) with \n endings, check it in. $ u2d foo $ git update-index foo $ git diff foo $ git status $ git commit I think the same --refresh check kicks in for "git add" (I did not try), so if you replace the above "git update-index foo" with "git add foo" it may not work. You would want to try that, too. - 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