Merge pull request #138 from tboegi/150504_blame-resurrect-convert-to-git

blame: CRLF in the working tree and LF in the repo
This commit is contained in:
dscho
2015-05-06 18:46:27 +02:00
2 changed files with 16 additions and 3 deletions

View File

@@ -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);

View File

@@ -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
'