]>
Commit | Line | Data |
---|---|---|
b810cbbd JH |
1 | #!/bin/sh |
2 | ||
3 | test_description='combined diff' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | setup_helper () { | |
8 | one=$1 branch=$2 side=$3 && | |
9 | ||
10 | git branch $side $branch && | |
11 | for l in $one two three fyra | |
12 | do | |
13 | echo $l | |
14 | done >file && | |
15 | git add file && | |
16 | test_tick && | |
17 | git commit -m $branch && | |
18 | git checkout $side && | |
19 | for l in $one two three quatro | |
20 | do | |
21 | echo $l | |
22 | done >file && | |
23 | git add file && | |
24 | test_tick && | |
25 | git commit -m $side && | |
26 | test_must_fail git merge $branch && | |
27 | for l in $one three four | |
28 | do | |
29 | echo $l | |
30 | done >file && | |
31 | git add file && | |
32 | test_tick && | |
33 | git commit -m "merge $branch into $side" | |
34 | } | |
35 | ||
36 | verify_helper () { | |
37 | it=$1 && | |
38 | ||
39 | # Ignore lines that were removed only from the other parent | |
40 | sed -e ' | |
41 | 1,/^@@@/d | |
42 | /^ -/d | |
43 | s/^\(.\)./\1/ | |
44 | ' "$it" >"$it.actual.1" && | |
45 | sed -e ' | |
46 | 1,/^@@@/d | |
47 | /^- /d | |
48 | s/^.\(.\)/\1/ | |
49 | ' "$it" >"$it.actual.2" && | |
50 | ||
51 | git diff "$it^" "$it" -- | sed -e '1,/^@@/d' >"$it.expect.1" && | |
52 | test_cmp "$it.expect.1" "$it.actual.1" && | |
53 | ||
54 | git diff "$it^2" "$it" -- | sed -e '1,/^@@/d' >"$it.expect.2" && | |
55 | test_cmp "$it.expect.2" "$it.actual.2" | |
56 | } | |
57 | ||
58 | test_expect_success setup ' | |
59 | >file && | |
60 | git add file && | |
61 | test_tick && | |
62 | git commit -m initial && | |
63 | ||
64 | git branch withone && | |
65 | git branch sansone && | |
66 | ||
67 | git checkout withone && | |
68 | setup_helper one withone sidewithone && | |
69 | ||
70 | git checkout sansone && | |
71 | setup_helper "" sansone sidesansone | |
72 | ' | |
73 | ||
74 | test_expect_success 'check combined output (1)' ' | |
75 | git show sidewithone -- >sidewithone && | |
76 | verify_helper sidewithone | |
77 | ' | |
78 | ||
df3dac37 | 79 | test_expect_success 'check combined output (2)' ' |
b810cbbd JH |
80 | git show sidesansone -- >sidesansone && |
81 | verify_helper sidesansone | |
82 | ' | |
83 | ||
21798708 TR |
84 | test_expect_success 'diagnose truncated file' ' |
85 | >file && | |
86 | git add file && | |
87 | git commit --amend -C HEAD && | |
88 | git show >out && | |
89 | grep "diff --cc file" out | |
90 | ' | |
91 | ||
b810cbbd | 92 | test_done |