]>
Commit | Line | Data |
---|---|---|
d18ba221 TR |
1 | #!/bin/sh |
2 | ||
3 | test_description='test @{-N} syntax' | |
4 | ||
06d53148 | 5 | GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main |
334afbc7 JS |
6 | export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME |
7 | ||
d18ba221 TR |
8 | . ./test-lib.sh |
9 | ||
10 | ||
11 | make_commit () { | |
12 | echo "$1" > "$1" && | |
13 | git add "$1" && | |
14 | git commit -m "$1" | |
15 | } | |
16 | ||
17 | ||
18 | test_expect_success 'setup' ' | |
19 | ||
20 | make_commit 1 && | |
21 | git branch side && | |
22 | make_commit 2 && | |
23 | make_commit 3 && | |
24 | git checkout side && | |
25 | make_commit 4 && | |
06d53148 JS |
26 | git merge main && |
27 | git checkout main | |
d18ba221 TR |
28 | |
29 | ' | |
30 | ||
06d53148 | 31 | # 1 -- 2 -- 3 main |
d18ba221 TR |
32 | # \ \ |
33 | # \ \ | |
34 | # --- 4 --- 5 side | |
35 | # | |
36 | # and 'side' should be the last branch | |
37 | ||
d18ba221 | 38 | test_expect_success '@{-1} works' ' |
5d77298d | 39 | test_cmp_rev side @{-1} |
d18ba221 TR |
40 | ' |
41 | ||
42 | test_expect_success '@{-1}~2 works' ' | |
5d77298d | 43 | test_cmp_rev side~2 @{-1}~2 |
d18ba221 TR |
44 | ' |
45 | ||
46 | test_expect_success '@{-1}^2 works' ' | |
5d77298d | 47 | test_cmp_rev side^2 @{-1}^2 |
d18ba221 TR |
48 | ' |
49 | ||
aa9c55b6 | 50 | test_expect_success '@{-1}@{1} works' ' |
5d77298d | 51 | test_cmp_rev side@{1} @{-1}@{1} |
d18ba221 TR |
52 | ' |
53 | ||
54 | test_expect_success '@{-2} works' ' | |
06d53148 | 55 | test_cmp_rev main @{-2} |
d18ba221 TR |
56 | ' |
57 | ||
58 | test_expect_success '@{-3} fails' ' | |
59 | test_must_fail git rev-parse @{-3} | |
60 | ' | |
61 | ||
62 | test_done | |
63 | ||
64 |