Browse Source

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
maint
Junio C Hamano 11 years ago
parent
commit
e934c67b66
  1. 1
      builtin/blame.c
  2. 9
      t/t8003-blame-corner-cases.sh

1
builtin/blame.c

@ -2355,7 +2355,6 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, @@ -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);

9
t/t8003-blame-corner-cases.sh

@ -191,4 +191,13 @@ test_expect_success 'indent of line numbers, ten lines' ' @@ -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

Loading…
Cancel
Save