t/t8006: Demonstrate blame is broken when cachetextconv is on
I have a git repository with lots of .doc and .pdf files. There diff works ok, but blaming is painfully slow without textconv cache, and with textconv cache, blame says lots of lines are 'Not Yet Committed' which is wrong. Here is a test that demonstrates the problem. Cc: Axel Bonnet <axel.bonnet@ensimag.imag.fr> Cc: Clément Poulain <clement.poulain@ensimag.imag.fr> Cc: Diane Gasselin <diane.gasselin@ensimag.imag.fr> Cc: Jeff King <peff@peff.net> Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kirill Smelkov committed
Dec 18, 2010 at 17:54 UTC
b1b14ec3f14edfc5f76643aaaac6548fc94fb47e
1 file changed
+22
t/t8006-blame-textconv.sh
+22
@@ -73,6 +73,28 @@ test_expect_success 'blame --textconv going through revisions' '
73
test_cmp expected result
74
'
75
76
+test_expect_success 'setup +cachetextconv' '
77
+ git config diff.test.cachetextconv true
78
+'
79
+
80
+cat >expected_one <<EOF
81
+(Number2 2010-01-01 20:00:00 +0000 1) converted: test 1 version 2
82
+EOF
83
+
84
+# one.bin is blamed as 'Not Committed yet'
85
+test_expect_failure 'blame --textconv works with textconvcache' '
86
+ git blame --textconv two.bin >blame &&
87
+ find_blame <blame >result &&
88
+ test_cmp expected result &&
89
+ git blame --textconv one.bin >blame &&
90
+ find_blame <blame >result &&
91
+ test_cmp expected_one result
92
+'
93
+
94
+test_expect_success 'setup -cachetextconv' '
95
+ git config diff.test.cachetextconv false
96
+'
97
+
98
test_expect_success 'make a new commit' '
99
echo "bin: test number 2 version 3" >>two.bin &&
100
GIT_AUTHOR_NAME=Number3 git commit -a -m Third --date="2010-01-01 22:00:00"