Fix test case for some sed
[git/dscho.git] / t / t8001-annotate.sh
blob172908a5b082805f62d8c570a1f2ee77064a3697
1 #!/bin/sh
3 test_description='git-annotate'
4 . ./test-lib.sh
6 test_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."'
13 test_expect_success \
14 'check all lines blamed on A' \
15 '[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'
17 test_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."'
23 test_expect_success \
24 'Two lines blamed on A' \
25 '[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'
27 test_expect_success \
28 'Two lines blamed on B' \
29 '[ $(git annotate file | awk "{print \$3}" | grep -c "B") == 2 ]'
31 test_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"'
38 test_expect_success \
39 'Two lines blamed on A' \
40 '[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
42 test_expect_success \
43 'Two lines blamed on B' \
44 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 2 ]'
46 test_expect_success \
47 'Two lines blamed on B1' \
48 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
50 test_expect_success \
51 'merge-setup part 2' \
52 'git checkout -b branch2 master &&
53 sed -e "s/2A quick brown/4A quick brown lazy dog/" < file > file.new &&
54 mv file.new file &&
55 GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'
57 test_expect_success \
58 'Two lines blamed on A' \
59 '[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
61 test_expect_success \
62 'One line blamed on B' \
63 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
65 test_expect_success \
66 'One line blamed on B2' \
67 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
70 test_expect_success \
71 'merge-setup part 3' \
72 'git pull . branch1'
74 test_expect_success \
75 'Two lines blamed on A' \
76 '[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
78 test_expect_success \
79 'One line blamed on B' \
80 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
82 test_expect_success \
83 'Two lines blamed on B1' \
84 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
86 test_expect_success \
87 'One line blamed on B2' \
88 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
90 test_done