Junio C Hamano | c0234b2 | 2008-07-03 12:09:48 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='remote tracking stats' |
| 4 | |
| 5 | . ./test-lib.sh |
| 6 | |
| 7 | advance () { |
| 8 | echo "$1" >"$1" && |
| 9 | git add "$1" && |
| 10 | test_tick && |
| 11 | git commit -m "$1" |
| 12 | } |
| 13 | |
| 14 | test_expect_success setup ' |
| 15 | for i in a b c; |
| 16 | do |
| 17 | advance $i || break |
| 18 | done && |
| 19 | git clone . test && |
| 20 | ( |
| 21 | cd test && |
| 22 | git checkout -b b1 origin && |
| 23 | git reset --hard HEAD^ && |
| 24 | advance d && |
| 25 | git checkout -b b2 origin && |
| 26 | git reset --hard b1 && |
| 27 | git checkout -b b3 origin && |
| 28 | git reset --hard HEAD^ && |
| 29 | git checkout -b b4 origin && |
| 30 | advance e && |
| 31 | advance f |
Michael J Gruber | 57dac0b | 2009-03-26 21:53:24 +0100 | [diff] [blame] | 32 | ) && |
| 33 | git checkout -b follower --track master && |
| 34 | advance g |
Junio C Hamano | c0234b2 | 2008-07-03 12:09:48 -0700 | [diff] [blame] | 35 | ' |
| 36 | |
| 37 | script='s/^..\(b.\)[ 0-9a-f]*\[\([^]]*\)\].*/\1 \2/p' |
| 38 | cat >expect <<\EOF |
| 39 | b1 ahead 1, behind 1 |
| 40 | b2 ahead 1, behind 1 |
| 41 | b3 behind 1 |
| 42 | b4 ahead 2 |
| 43 | EOF |
| 44 | |
| 45 | test_expect_success 'branch -v' ' |
| 46 | ( |
| 47 | cd test && |
| 48 | git branch -v |
| 49 | ) | |
| 50 | sed -n -e "$script" >actual && |
| 51 | test_cmp expect actual |
| 52 | ' |
| 53 | |
| 54 | test_expect_success 'checkout' ' |
| 55 | ( |
| 56 | cd test && git checkout b1 |
| 57 | ) >actual && |
Jeff King | 8753941 | 2008-09-30 04:03:55 -0400 | [diff] [blame] | 58 | grep "have 1 and 1 different" actual |
Junio C Hamano | c0234b2 | 2008-07-03 12:09:48 -0700 | [diff] [blame] | 59 | ' |
| 60 | |
Michael J Gruber | 5e6e2b4 | 2009-04-01 23:42:49 +0200 | [diff] [blame] | 61 | test_expect_success 'checkout with local tracked branch' ' |
Michael J Gruber | 57dac0b | 2009-03-26 21:53:24 +0100 | [diff] [blame] | 62 | git checkout master && |
| 63 | git checkout follower >actual |
| 64 | grep "is ahead of" actual |
| 65 | ' |
| 66 | |
Junio C Hamano | c0234b2 | 2008-07-03 12:09:48 -0700 | [diff] [blame] | 67 | test_expect_success 'status' ' |
| 68 | ( |
| 69 | cd test && |
| 70 | git checkout b1 >/dev/null && |
| 71 | # reports nothing to commit |
| 72 | test_must_fail git status |
| 73 | ) >actual && |
Jeff King | 8753941 | 2008-09-30 04:03:55 -0400 | [diff] [blame] | 74 | grep "have 1 and 1 different" actual |
Junio C Hamano | c0234b2 | 2008-07-03 12:09:48 -0700 | [diff] [blame] | 75 | ' |
| 76 | |
| 77 | |
| 78 | test_done |