diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-06-25 11:46:44 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-06-25 11:46:45 -0700 |
commit | 4d27d8cbc4ac74fee7b64ca9182ad920b958655f (patch) | |
tree | 54c49a1ccc8e2063ceed1dc20ab7b7ef578a42c7 | |
parent | 6bf84263b3be507352f2edc9397e4ca6660be289 (diff) | |
parent | 4d4813a52f3722854a54bab046f4abfec13ef6ae (diff) | |
download | git-4d27d8cbc4ac74fee7b64ca9182ad920b958655f.tar.gz |
Merge branch 'bc/blame-crlf-test' into maint
"git blame" assigned the blame to the copy in the working-tree if
the repository is set to core.autocrlf=input and the file used CRLF
line endings.
* bc/blame-crlf-test:
blame: correctly handle files regardless of autocrlf
-rw-r--r-- | builtin/blame.c | 1 | ||||
-rwxr-xr-x | t/t8003-blame-corner-cases.sh | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/builtin/blame.c b/builtin/blame.c index 128fc64d64..d8b276048e 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2095,7 +2095,6 @@ 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); diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh index e7cac1db55..2a3469bcbe 100755 --- a/t/t8003-blame-corner-cases.sh +++ b/t/t8003-blame-corner-cases.sh @@ -191,4 +191,13 @@ 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 |