| test_description='rewrite diff on binary file' |
| # We must be large enough to meet the MINIMUM_BREAK_SIZE |
| # common first line to help identify rewrite versus regular diff |
| for i in 1 2 3 4 5 6 7 8 9 10 |
| for j in 1 2 3 4 5 6 7 8 9 |
| test_expect_success 'create binary file with changes' ' |
| test_expect_success 'vanilla diff is binary' ' |
| grep "Binary files a/file and b/file differ" diff |
| test_expect_success 'rewrite diff is binary' ' |
| grep "dissimilarity index" diff && |
| grep "Binary files a/file and b/file differ" diff |
| test_expect_success 'rewrite diff can show binary patch' ' |
| git diff -B --binary >diff && |
| grep "dissimilarity index" diff && |
| grep "GIT binary patch" diff |
| perl -e '$/ = undef; $_ = <>; s/./ord($&)/ge; print $_' < "$1" |
| test_expect_success 'setup textconv' ' |
| echo file diff=foo >.gitattributes && |
| git config diff.foo.textconv "\"$(pwd)\""/dump |
| test_expect_success 'rewrite diff respects textconv' ' |
| grep "dissimilarity index" diff && |