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