You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
#!/bin/sh |
|
|
|
test_description='test various @{X} syntax combinations together' |
|
. ./test-lib.sh |
|
|
|
check() { |
|
test_expect_${3:-success} "$1 = $2" " |
|
echo '$2' >expect && |
|
git log -1 --format=%s '$1' >actual && |
|
test_cmp expect actual |
|
" |
|
} |
|
nonsense() { |
|
test_expect_${2:-success} "$1 is nonsensical" " |
|
test_must_fail git log -1 '$1' |
|
" |
|
} |
|
fail() { |
|
"$@" failure |
|
} |
|
|
|
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 && |
|
test_commit old-one && |
|
test_commit old-two && |
|
git checkout -b new-branch && |
|
test_commit new-one && |
|
test_commit new-two && |
|
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 HEAD new-two |
|
check "@{1}" new-one |
|
check "@{-1}" old-two |
|
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 |
|
nonsense "@{u}@{-1}" |
|
nonsense "@{1}@{u}" |
|
|
|
test_done
|
|
|