Jeff King | 42cab60 | 2010-01-28 04:50:20 -0500 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='test various @{X} syntax combinations together' |
| 4 | . ./test-lib.sh |
| 5 | |
| 6 | check() { |
| 7 | test_expect_${3:-success} "$1 = $2" " |
| 8 | echo '$2' >expect && |
| 9 | git log -1 --format=%s '$1' >actual && |
| 10 | test_cmp expect actual |
| 11 | " |
| 12 | } |
| 13 | nonsense() { |
| 14 | test_expect_${2:-success} "$1 is nonsensical" " |
| 15 | test_must_fail git log -1 '$1' |
| 16 | " |
| 17 | } |
| 18 | fail() { |
| 19 | "$@" failure |
| 20 | } |
| 21 | |
| 22 | test_expect_success 'setup' ' |
| 23 | test_commit master-one && |
| 24 | test_commit master-two && |
| 25 | git checkout -b upstream-branch && |
| 26 | test_commit upstream-one && |
| 27 | test_commit upstream-two && |
| 28 | git checkout -b old-branch && |
| 29 | test_commit old-one && |
| 30 | test_commit old-two && |
| 31 | git checkout -b new-branch && |
| 32 | test_commit new-one && |
| 33 | test_commit new-two && |
| 34 | git config branch.old-branch.remote . && |
| 35 | git config branch.old-branch.merge refs/heads/master && |
| 36 | git config branch.new-branch.remote . && |
| 37 | git config branch.new-branch.merge refs/heads/upstream-branch |
| 38 | ' |
| 39 | |
| 40 | check HEAD new-two |
| 41 | check "@{1}" new-one |
| 42 | check "@{-1}" old-two |
| 43 | check "@{-1}@{1}" old-one |
| 44 | check "@{u}" upstream-two |
| 45 | check "@{u}@{1}" upstream-one |
Jeff King | d46a830 | 2010-01-28 04:52:22 -0500 | [diff] [blame] | 46 | check "@{-1}@{u}" master-two |
| 47 | check "@{-1}@{u}@{1}" master-one |
Jeff King | 12a258c | 2010-01-28 04:56:43 -0500 | [diff] [blame] | 48 | nonsense "@{u}@{-1}" |
Jeff King | 42cab60 | 2010-01-28 04:50:20 -0500 | [diff] [blame] | 49 | nonsense "@{1}@{u}" |
| 50 | |
| 51 | test_done |