1#!/bin/sh
2
3test_description='rewrite diff on binary file'
4
5. ./test-lib.sh
6
7# We must be large enough to meet the MINIMUM_BREAK_SIZE
8# requirement.
9make_file() {
10 for i in 1 2 3 4 5 6 7 8 9 10
11 do
12 for j in 1 2 3 4 5 6 7 8 9
13 do
14 for k in 1 2 3 4 5
15 do
16 printf "$1\n"
17 done
18 done
19 done >file
20}
21
22test_expect_success 'create binary file with changes' '
23 make_file "\\0" &&
24 git add file &&
25 make_file "\\01"
26'
27
28test_expect_success 'vanilla diff is binary' '
29 git diff >diff &&
30 grep "Binary files a/file and b/file differ" diff
31'
32
33test_expect_success 'rewrite diff is binary' '
34 git diff -B >diff &&
35 grep "dissimilarity index" diff &&
36 grep "Binary files a/file and b/file differ" diff
37'
38
39test_expect_success 'rewrite diff can show binary patch' '
40 git diff -B --binary >diff &&
41 grep "dissimilarity index" diff &&
42 grep "GIT binary patch" diff
43'
44
45test_done