cvsserver: fix checkouts with -d <somedir>
[git.git] / t / t8001-annotate.sh
blobcae179436c16f90582baba673373c502b7a0bf52
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 -i -e "s/2A quick brown/4A quick brown lazy dog/" file &&
54 GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'
56 test_expect_success \
57 'Two lines blamed on A' \
58 '[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
60 test_expect_success \
61 'One line blamed on B' \
62 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
64 test_expect_success \
65 'One line blamed on B2' \
66 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
69 test_expect_success \
70 'merge-setup part 3' \
71 'git pull . branch1'
73 test_expect_success \
74 'Two lines blamed on A' \
75 '[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
77 test_expect_success \
78 'One line blamed on B' \
79 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
81 test_expect_success \
82 'Two lines blamed on B1' \
83 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
85 test_expect_success \
86 'One line blamed on B2' \
87 '[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
89 test_done