1# This file isn't used as a test script directly, instead it is
2# sourced from t8001-annotate.sh and t8001-blame.sh.
3
4test_expect_success \
5 'prepare reference tree' \
6 'echo "1A quick brown fox jumps over the" >file &&
7 echo "lazy dog" >>file &&
8 git add file
9 GIT_AUTHOR_NAME="A" git commit -a -m "Initial."'
10
11test_expect_success \
12 'check all lines blamed on A' \
13 '[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'
14
15test_expect_success \
16 'Setup new lines blamed on B' \
17 'echo "2A quick brown fox jumps over the" >>file &&
18 echo "lazy dog" >> file &&
19 GIT_AUTHOR_NAME="B" git commit -a -m "Second."'
20
21test_expect_success \
22 'Two lines blamed on A' \
23 '[ $($PROG file | awk "{print \$3}" | grep -c "A") == 2 ]'
24
25test_expect_success \
26 'Two lines blamed on B' \
27 '[ $($PROG file | awk "{print \$3}" | grep -c "B") == 2 ]'
28
29test_expect_success \
30 'merge-setup part 1' \
31 'git checkout -b branch1 master &&
32 echo "3A slow green fox jumps into the" >> file &&
33 echo "well." >> file &&
34 GIT_AUTHOR_NAME="B1" git commit -a -m "Branch1-1"'
35
36test_expect_success \
37 'Two lines blamed on A' \
38 '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
39
40test_expect_success \
41 'Two lines blamed on B' \
42 '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 2 ]'
43
44test_expect_success \
45 'Two lines blamed on B1' \
46 '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
47
48test_expect_success \
49 'merge-setup part 2' \
50 'git checkout -b branch2 master &&
51 sed -e "s/2A quick brown/4A quick brown lazy dog/" < file > file.new &&
52 mv file.new file &&
53 GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'
54
55test_expect_success \
56 'Two lines blamed on A' \
57 '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
58
59test_expect_success \
60 'One line blamed on B' \
61 '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
62
63test_expect_success \
64 'One line blamed on B2' \
65 '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
66
67
68test_expect_success \
69 'merge-setup part 3' \
70 'git pull . branch1'
71
72test_expect_success \
73 'Two lines blamed on A' \
74 '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
75
76test_expect_success \
77 'One line blamed on B' \
78 '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
79
80test_expect_success \
81 'Two lines blamed on B1' \
82 '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
83
84test_expect_success \
85 'One line blamed on B2' \
86 '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'