disallow branch names that start with a hyphen
[git/dkf.git] / t / t1508-at-combinations.sh
blobd5d6244178137cddc985ad4fc32ee3e78c7c5746
1 #!/bin/sh
3 test_description='test various @{X} syntax combinations together'
4 . ./test-lib.sh
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
13 nonsense() {
14 test_expect_${2:-success} "$1 is nonsensical" "
15 test_must_fail git log -1 '$1'
18 fail() {
19 "$@" failure
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
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
46 check "@{-1}@{u}" master-two
47 check "@{-1}@{u}@{1}" master-one
48 nonsense "@{u}@{-1}"
49 nonsense "@{1}@{u}"
51 test_done