Merge branch 'tb/blame-resurrect-convert-to-git' into maint
Some time ago, "git blame" (incorrectly) lost the convert_to_git() call when synthesizing a fake "tip" commit that represents the state in the working tree, which broke folks who record the history with LF line ending to make their project portabile across platforms while terminating lines in their working tree files with CRLF for their platform. * tb/blame-resurrect-convert-to-git: blame: CRLF in the working tree and LF in the repo
This commit is contained in:
commit
1d93ec9397
@ -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);
|
||||
|
@ -191,12 +191,24 @@ test_expect_success 'indent of line numbers, ten lines' '
|
||||
test $(grep -c " " actual) = 9
|
||||
'
|
||||
|
||||
test_expect_success 'blaming files with CRLF newlines' '
|
||||
test_expect_success 'setup file with CRLF newlines' '
|
||||
git config core.autocrlf false &&
|
||||
printf "testcase\r\n" >crlffile &&
|
||||
printf "testcase\n" >crlffile &&
|
||||
git add crlffile &&
|
||||
git commit -m testcase &&
|
||||
git -c core.autocrlf=input blame crlffile >actual &&
|
||||
printf "testcase\r\n" >crlffile
|
||||
'
|
||||
|
||||
test_expect_success 'blame file with CRLF core.autocrlf true' '
|
||||
git config core.autocrlf true &&
|
||||
git blame crlffile >actual &&
|
||||
grep "A U Thor" actual
|
||||
'
|
||||
|
||||
test_expect_success 'blame file with CRLF attributes text' '
|
||||
git config core.autocrlf false &&
|
||||
echo "crlffile text" >.gitattributes &&
|
||||
git blame crlffile >actual &&
|
||||
grep "A U Thor" actual
|
||||
'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user