| test_description='test various @{X} syntax combinations together' |
| test_expect_${3:-success} "$1 = $2" " |
| git log -1 --format=%s '$1' >actual && |
| test_expect_${2:-success} "$1 is nonsensical" " |
| test_must_fail git log -1 '$1' |
| test_expect_success 'setup' ' |
| test_commit master-one && |
| test_commit master-two && |
| git checkout -b upstream-branch && |
| test_commit upstream-one && |
| test_commit upstream-two && |
| git checkout -b old-branch && |
| git checkout -b new-branch && |
| git config branch.old-branch.remote . && |
| git config branch.old-branch.merge refs/heads/master && |
| git config branch.new-branch.remote . && |
| git config branch.new-branch.merge refs/heads/upstream-branch |
| check "@{-1}@{1}" old-one |
| check "@{u}" upstream-two |
| check "@{u}@{1}" upstream-one |
| check "@{-1}@{u}" master-two |
| check "@{-1}@{u}@{1}" master-one |