blame: CRLF in the working tree and LF in the repo
PATCH v2 1/1 blame: CRLF in the working tree and LF in the repo
A typicall setup under Windows:
core.eol is CRLF and a file is marked as "text" in .gitattributes, or core.autocrlf is true
After 4d4813a5 "git blame" no longer works as expected, every line is annotated as "Not Committed Yet", even though the working directory is clean.
commit 4d4813a5 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, the files should be normalized in the repo. Blaming them with "Not Committed Yet" is OK.
The solution is to revert commit 4d4813a5.
---
What happened to the test cases ?
They where improved, but it turned out that they failed from time to time, both Windows and Mac OS.
"Spicing them" with test_tick or other things didn't help, if they are run in a tight loop.
running with "debug=t verbose=t ./t8003*.sh" make the test pass.
My suggestion is to revert 4d4813a5 and drop TC's for the moment.
builtin/blame.c | 1 + t/t8003-blame-corner-cases.sh | 9 --------- 2 files changed, 1 insertion(+), 9 deletions(-)
builtin/blame.c +1 -0
@@ -2348,6 +2348,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,if (strbuf_read (&buf,0 ,0 ) <0 )die_errno ("failed to read from stdin" ); } +convert_to_git (path, buf.buf, buf.len, &buf,0 ); origin->file.ptr = buf.buf; origin->file.size = buf.len;pretend_sha1_file (buf.buf, buf.len,OBJ_BLOB , origin->blob_sha1);
t/t8003-blame-corner-cases.sh +0 -9
@@ -191,13 +191,4 @@ test_expect_success 'indent of line numbers, ten lines' ' test $(grep -c " " actual) = 9 ' -test_expect_success 'blaming files with CRLF newlines' ' - git config core.autocrlf false && - printf "testcase\r\n" >crlffile && - git add crlffile && - git commit -m testcase && - git -c core.autocrlf=input blame crlffile >actual && - grep "A U Thor" actual -' - test_done
Signature · 1 line
2.2.0.rc1.790.ge19fcd2
Hi Torsten,
Quoted 1 line · Torsten Bögershausen
A typicall setup under Windows:
s/ll/l/
Quoted 3 lines
What happened to the test cases ?
They where improved, but it turned out that they failed from time to time, both Windows and Mac OS.
Have you had a chance to investigate the failure symptoms? This is worrisome.
Ciao,
Dscho
Quoted 6 lines · Johannes Schindelin
Hi Torsten,
Quoted 1 line · Torsten Bögershausen
A typicall setup under Windows:
s/ll/l/
Quoted 7 lines
Quoted 3 lines
What happened to the test cases ?
They where improved, but it turned out that they failed from time to time, both Windows and Mac OS.Have you had a chance to investigate the failure symptoms? This is worrisome.
Ciao,
Dscho
Thanks for insisting - problem found:
< 00000000 (Not Committed Yet 2015-04-30 08:36:18 +0000 1) testcase
---
Quoted 1 line
00000000 (Not Committed Yet 2015-04-30 08:36:19 +0000 1) testcase
(And V3 will come later)