mirror of
https://github.com/git/git.git
synced 2024-11-29 04:54:56 +08:00
correct blame for files commited with CRLF
git blame reports lines as not "Not Committed Yet" when they have
CRLF in the index, CRLF in the worktree and core.autocrlf is true.
Since commit c4805393
(autocrlf: Make it work also for un-normalized
repositories, 2010-05-12), files that have CRLF in the index are not
normalized at commit when core.autocrl is set.
Add a call to read_cache() early in fake_working_tree_commit(),
before calling convert_to_git().
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
765428699a
commit
a08feb8ef0
@ -2275,6 +2275,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
|
||||
unsigned mode;
|
||||
struct strbuf msg = STRBUF_INIT;
|
||||
|
||||
read_cache();
|
||||
time(&now);
|
||||
commit = alloc_commit_node();
|
||||
commit->object.parsed = 1;
|
||||
|
@ -212,4 +212,18 @@ test_expect_success 'blame file with CRLF attributes text' '
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user