]>
Commit | Line | Data |
---|---|---|
ef0bd2e6 JS |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2005 Johannes Schindelin | |
4 | # | |
5 | ||
5be60078 | 6 | test_description='Test git rev-parse with different parent options' |
ef0bd2e6 JS |
7 | |
8 | . ./test-lib.sh | |
9d488eb4 | 9 | . "$TEST_DIRECTORY"/lib-t6000.sh # t6xxx specific functions |
ef0bd2e6 JS |
10 | |
11 | date >path0 | |
5be60078 JH |
12 | git update-index --add path0 |
13 | save_tag tree git write-tree | |
ef0bd2e6 JS |
14 | hide_error save_tag start unique_commit "start" tree |
15 | save_tag second unique_commit "second" tree -p start | |
16 | hide_error save_tag start2 unique_commit "start2" tree | |
17 | save_tag two_parents unique_commit "next" tree -p second -p start2 | |
18 | save_tag final unique_commit "final" tree -p two_parents | |
19 | ||
5be60078 JH |
20 | test_expect_success 'start is valid' 'git rev-parse start | grep "^[0-9a-f]\{40\}$"' |
21 | test_expect_success 'start^0' "test $(cat .git/refs/tags/start) = $(git rev-parse start^0)" | |
22 | test_expect_success 'start^1 not valid' "if git rev-parse --verify start^1; then false; else :; fi" | |
23 | test_expect_success 'second^1 = second^' "test $(git rev-parse second^1) = $(git rev-parse second^)" | |
24 | test_expect_success 'final^1^1^1' "test $(git rev-parse start) = $(git rev-parse final^1^1^1)" | |
25 | test_expect_success 'final^1^1^1 = final^^^' "test $(git rev-parse final^1^1^1) = $(git rev-parse final^^^)" | |
26 | test_expect_success 'final^1^2' "test $(git rev-parse start2) = $(git rev-parse final^1^2)" | |
27 | test_expect_success 'final^1^2 != final^1^1' "test $(git rev-parse final^1^2) != $(git rev-parse final^1^1)" | |
28 | test_expect_success 'final^1^3 not valid' "if git rev-parse --verify final^1^3; then false; else :; fi" | |
d492b31c | 29 | test_expect_success '--verify start2^1' 'test_must_fail git rev-parse --verify start2^1' |
5be60078 | 30 | test_expect_success '--verify start2^0' 'git rev-parse --verify start2^0' |
2122f8b9 BS |
31 | test_expect_success 'final^1^@ = final^1^1 final^1^2' "test \"$(git rev-parse final^1^@)\" = \"$(git rev-parse final^1^1 final^1^2)\"" |
32 | test_expect_success 'final^1^! = final^1 ^final^1^1 ^final^1^2' "test \"$(git rev-parse final^1^\!)\" = \"$(git rev-parse final^1 ^final^1^1 ^final^1^2)\"" | |
ef0bd2e6 | 33 | |
7ff895c0 SP |
34 | test_expect_success 'repack for next test' 'git repack -a -d' |
35 | test_expect_success 'short SHA-1 works' ' | |
36 | start=`git rev-parse --verify start` && | |
37 | echo $start && | |
38 | abbrv=`echo $start | sed s/.\$//` && | |
39 | echo $abbrv && | |
40 | abbrv=`git rev-parse --verify $abbrv` && | |
41 | echo $abbrv && | |
42 | test $start = $abbrv' | |
43 | ||
ef0bd2e6 | 44 | test_done |