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