]>
Commit | Line | Data |
---|---|---|
4d5f3471 JK |
1 | #!/bin/sh |
2 | ||
3 | test_description='combined and merge diff handle binary files and textconv' | |
4 | . ./test-lib.sh | |
5 | ||
6 | test_expect_success 'setup binary merge conflict' ' | |
7 | echo oneQ1 | q_to_nul >binary && | |
8 | git add binary && | |
9 | git commit -m one && | |
10 | echo twoQ2 | q_to_nul >binary && | |
11 | git commit -a -m two && | |
12 | git checkout -b branch-binary HEAD^ && | |
13 | echo threeQ3 | q_to_nul >binary && | |
14 | git commit -a -m three && | |
15 | test_must_fail git merge master && | |
16 | echo resolvedQhooray | q_to_nul >binary && | |
17 | git commit -a -m resolved | |
18 | ' | |
19 | ||
20 | cat >expect <<'EOF' | |
21 | resolved | |
22 | ||
23 | diff --git a/binary b/binary | |
24 | index 7ea6ded..9563691 100644 | |
25 | Binary files a/binary and b/binary differ | |
26 | resolved | |
27 | ||
28 | diff --git a/binary b/binary | |
29 | index 6197570..9563691 100644 | |
30 | Binary files a/binary and b/binary differ | |
31 | EOF | |
32 | test_expect_success 'diff -m indicates binary-ness' ' | |
33 | git show --format=%s -m >actual && | |
34 | test_cmp expect actual | |
35 | ' | |
36 | ||
37 | cat >expect <<'EOF' | |
38 | resolved | |
39 | ||
40 | diff --combined binary | |
41 | index 7ea6ded,6197570..9563691 | |
42 | Binary files differ | |
43 | EOF | |
44 | test_expect_success 'diff -c indicates binary-ness' ' | |
45 | git show --format=%s -c >actual && | |
46 | test_cmp expect actual | |
47 | ' | |
48 | ||
49 | cat >expect <<'EOF' | |
50 | resolved | |
51 | ||
52 | diff --cc binary | |
53 | index 7ea6ded,6197570..9563691 | |
54 | Binary files differ | |
55 | EOF | |
56 | test_expect_success 'diff --cc indicates binary-ness' ' | |
57 | git show --format=%s --cc >actual && | |
58 | test_cmp expect actual | |
59 | ' | |
60 | ||
61 | test_expect_success 'setup non-binary with binary attribute' ' | |
62 | git checkout master && | |
63 | test_commit one text && | |
64 | test_commit two text && | |
65 | git checkout -b branch-text HEAD^ && | |
66 | test_commit three text && | |
67 | test_must_fail git merge master && | |
68 | test_commit resolved text && | |
69 | echo text -diff >.gitattributes | |
70 | ' | |
71 | ||
72 | cat >expect <<'EOF' | |
73 | resolved | |
74 | ||
75 | diff --git a/text b/text | |
76 | index 2bdf67a..2ab19ae 100644 | |
77 | Binary files a/text and b/text differ | |
78 | resolved | |
79 | ||
80 | diff --git a/text b/text | |
81 | index f719efd..2ab19ae 100644 | |
82 | Binary files a/text and b/text differ | |
83 | EOF | |
84 | test_expect_success 'diff -m respects binary attribute' ' | |
85 | git show --format=%s -m >actual && | |
86 | test_cmp expect actual | |
87 | ' | |
88 | ||
89 | cat >expect <<'EOF' | |
90 | resolved | |
91 | ||
92 | diff --combined text | |
93 | index 2bdf67a,f719efd..2ab19ae | |
94 | Binary files differ | |
95 | EOF | |
96 | test_expect_success 'diff -c respects binary attribute' ' | |
97 | git show --format=%s -c >actual && | |
98 | test_cmp expect actual | |
99 | ' | |
100 | ||
101 | cat >expect <<'EOF' | |
102 | resolved | |
103 | ||
104 | diff --cc text | |
105 | index 2bdf67a,f719efd..2ab19ae | |
106 | Binary files differ | |
107 | EOF | |
108 | test_expect_success 'diff --cc respects binary attribute' ' | |
109 | git show --format=%s --cc >actual && | |
110 | test_cmp expect actual | |
111 | ' | |
112 | ||
113 | test_done |