3 test_description
='combined diff'
8 one
=$1 branch
=$2 side
=$3 &&
10 git branch
$side $branch &&
11 for l
in $one two three fyra
17 git commit
-m $branch &&
19 for l
in $one two three quatro
25 git commit
-m $side &&
26 test_must_fail git merge
$branch &&
27 for l
in $one three four
33 git commit
-m "merge $branch into $side"
39 # Ignore lines that were removed only from the other parent
44 ' "$it" >"$it.actual.1" &&
49 ' "$it" >"$it.actual.2" &&
51 git
diff "$it^" "$it" -- |
sed -e '1,/^@@/d' >"$it.expect.1" &&
52 test_cmp
"$it.expect.1" "$it.actual.1" &&
54 git
diff "$it^2" "$it" -- |
sed -e '1,/^@@/d' >"$it.expect.2" &&
55 test_cmp
"$it.expect.2" "$it.actual.2"
58 test_expect_success setup
'
62 git commit -m initial &&
67 git checkout withone &&
68 setup_helper one withone sidewithone &&
70 git checkout sansone &&
71 setup_helper "" sansone sidesansone
74 test_expect_success
'check combined output (1)' '
75 git show sidewithone -- >sidewithone &&
76 verify_helper sidewithone
79 test_expect_success
'check combined output (2)' '
80 git show sidesansone -- >sidesansone &&
81 verify_helper sidesansone
84 test_expect_success
'diagnose truncated file' '
87 git commit --amend -C HEAD &&
89 grep "diff --cc file" out
92 test_expect_success
'setup for --cc --raw' '
93 blob=$(echo file | git hash-object --stdin -w) &&
94 base_tree=$(echo "100644 blob $blob file" | git mktree) &&
96 for i in `test_seq 1 40`
98 blob=$(echo file$i | git hash-object --stdin -w) &&
99 trees="$trees$(echo "100644 blob $blob file" | git mktree)$LF"
103 test_expect_success
'check --cc --raw with four trees' '
104 four_trees=$(echo "$trees" | sed -e 4q) &&
105 git diff --cc --raw $four_trees $base_tree >out &&
106 # Check for four leading colons in the output:
110 test_expect_success
'check --cc --raw with forty trees' '
111 git diff --cc --raw $trees $base_tree >out &&
112 # Check for forty leading colons in the output:
113 grep "^::::::::::::::::::::::::::::::::::::::::[^:]" out