summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-06-06 18:26:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-06 18:26:50 (GMT)
commite934c67b6683c1bd504646647b7ee04ee0d9e15b (patch)
treeaedcc0fc5925cafdd9150701fbceb19f1b5fa901
parentee8213951a36cefabed7dd653965cffb6aee628e (diff)
parent4d4813a52f3722854a54bab046f4abfec13ef6ae (diff)
downloadgit-e934c67b6683c1bd504646647b7ee04ee0d9e15b.zip
git-e934c67b6683c1bd504646647b7ee04ee0d9e15b.tar.gz
git-e934c67b6683c1bd504646647b7ee04ee0d9e15b.tar.bz2
Merge branch 'bc/blame-crlf-test'
If a file contained CRLF line endings in a repository with core.autocrlf=input, then blame always marked lines as "Not Committed Yet", even if they were unmodified. * bc/blame-crlf-test: blame: correctly handle files regardless of autocrlf
-rw-r--r--builtin/blame.c1
-rwxr-xr-xt/t8003-blame-corner-cases.sh9
2 files changed, 9 insertions, 1 deletions
diff --git a/builtin/blame.c b/builtin/blame.c
index 3aa1793..a52a279 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -2355,7 +2355,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 e7cac1d..2a3469b 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