Subject: Re: [PATCH] blame: add a failing test for a CRLF issue.

From: Torsten Bögershausen <[email-masked]>
Date: Wed, 19 Feb 2014 21:16:22 +0100

On 02/18/2014 08:45 PM, brian m. carlson wrote:
> If a file contains CRLF line endings in a repository with
> core.autocrlf=input, then blame always marks the lines as "Not Committed
> Yet", even if they are unmodified.  Add a failing test for this case, so we
> are at least aware of this issue.
>
> Reported-by: Ephrim Khong <[email-masked]>
> Signed-off-by: brian m. carlson <[email-masked]>
> ---
>
> Obviously, this doesn't actually fix the issue, but at least we're aware of it
> so we don't lose track of it and can fix it.  A future patch can mark the test
> passing.
>
>   t/t8003-blame-corner-cases.sh | 10 ++++++++++
>   1 file changed, 10 insertions(+)
>
> diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
> index e7cac1d..903f775 100755
> --- a/t/t8003-blame-corner-cases.sh
> +++ b/t/t8003-blame-corner-cases.sh
> @@ -191,4 +191,14 @@ test_expect_success 'indent of line numbers, ten lines' '
>   	test $(grep -c "  " actual) = 9
>   '
>
> +test_expect_failure 'blaming files with CRLF newlines' '
> +	git config core.autocrlf false &&
> +	printf "testcase\r\n" >crlffile &&
> +	git add crlffile &&
> +	git commit -m testcase &&
> +	git config core.autocrlf input &&
> +	git blame crlffile >actual &&
> +	grep "A U Thor" actual
> +'
> +
>   test_done
>

We can test that git blame gives the same result with 
core.autocrlf=input  and core.autocrlf=false, and make the test case 
look like this:

test_expect_failure 'blaming files with CRLF newlines' '
	git config core.autocrlf false &&
	printf "testcase\r\n" >crlffile &&
	git add crlffile &&
	git commit -m testcase &&
	git blame crlffile >expected &&
	git -c core.autocrlf=input blame crlffile >actual &&
	test_cmp expected actual
'