blame: CRLF in the working tree and LF in the repo
commit4bf256d67a85bed1e175ecc2706322eafe4489ca
authorTorsten Bögershausen <tboegi@web.de>
Sun, 3 May 2015 16:38:01 +0000 (3 18:38 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 3 May 2015 18:00:10 +0000 (3 11:00 -0700)
treeab636a9e82e47f470cbeee37044117836dd4e006
parent282616c72d1d08a77ca4fe1186cb708c38408d87
blame: CRLF in the working tree and LF in the repo

A typical setup under Windows is to set core.eol to CRLF, and text
files are marked as "text" in .gitattributes, or core.autocrlf is
set to true.

After 4d4813a5 "git blame" no longer works as expected for such a
set-up.  Every line is annotated as "Not Committed Yet", even though
the working directory is clean.  This is because the commit removed
the conversion in blame.c for all files, with or without CRLF in the
repo.

Having files with CRLF in the repo and core.autocrlf=input is a
temporary situation, and the files, if committed as is, will be
normalized in the repo, which _will_ be a notable change.  Blaming
them with "Not Committed Yet" is the right result.  Revert commit
4d4813a5 which was a misguided attempt to "solve" a non-problem.

Add two test cases in t8003 to verify the correct CRLF conversion.

Suggested-By: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c
t/t8003-blame-corner-cases.sh