Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf'
When running "git blame $path" with unnormalized data in the index for the path, the data in the working tree was blamed, even though "git add" would not have changed what is already in the index, due to "safe crlf" that disables the line-end conversion. It has been corrected. * tb/blame-force-read-cache-to-workaround-safe-crlf: correct blame for files commited with CRLF
This commit is contained in:
commit
6680016e9d
@ -2307,6 +2307,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
|
|||||||
unsigned mode;
|
unsigned mode;
|
||||||
struct strbuf msg = STRBUF_INIT;
|
struct strbuf msg = STRBUF_INIT;
|
||||||
|
|
||||||
|
read_cache();
|
||||||
time(&now);
|
time(&now);
|
||||||
commit = alloc_commit_node();
|
commit = alloc_commit_node();
|
||||||
commit->object.parsed = 1;
|
commit->object.parsed = 1;
|
||||||
|
@ -212,4 +212,18 @@ test_expect_success 'blame file with CRLF attributes text' '
|
|||||||
grep "A U Thor" actual
|
grep "A U Thor" actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'blame file with CRLF core.autocrlf=true' '
|
||||||
|
git config core.autocrlf false &&
|
||||||
|
printf "testcase\r\n" >crlfinrepo &&
|
||||||
|
>.gitattributes &&
|
||||||
|
git add crlfinrepo &&
|
||||||
|
git commit -m "add crlfinrepo" &&
|
||||||
|
git config core.autocrlf true &&
|
||||||
|
mv crlfinrepo tmp &&
|
||||||
|
git checkout crlfinrepo &&
|
||||||
|
rm tmp &&
|
||||||
|
git blame crlfinrepo >actual &&
|
||||||
|
grep "A U Thor" actual
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user