]>
Commit | Line | Data |
---|---|---|
42cab601 JK |
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 | |
d46a8301 JK |
46 | check "@{-1}@{u}" master-two |
47 | check "@{-1}@{u}@{1}" master-one | |
12a258c0 | 48 | nonsense "@{u}@{-1}" |
42cab601 JK |
49 | nonsense "@{1}@{u}" |
50 | ||
51 | test_done |