]>
Commit | Line | Data |
---|---|---|
2269e2a8 NTND |
1 | #!/bin/sh |
2 | ||
3 | test_description='test submodule ref store api' | |
4 | ||
06d53148 | 5 | GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main |
334afbc7 JS |
6 | export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME |
7 | ||
2269e2a8 NTND |
8 | . ./test-lib.sh |
9 | ||
65370d81 | 10 | RUN="test-tool ref-store submodule:sub" |
2269e2a8 NTND |
11 | |
12 | test_expect_success 'setup' ' | |
13 | git init sub && | |
14 | ( | |
15 | cd sub && | |
16 | test_commit first && | |
973e20b8 | 17 | git checkout -b new-main && |
36a31792 | 18 | git tag -a -m new-tag new-tag HEAD |
2269e2a8 NTND |
19 | ) |
20 | ' | |
21 | ||
22 | test_expect_success 'pack_refs() not allowed' ' | |
23 | test_must_fail $RUN pack-refs 3 | |
24 | ' | |
25 | ||
2269e2a8 | 26 | test_expect_success 'create_symref() not allowed' ' |
06d53148 | 27 | test_must_fail $RUN create-symref FOO refs/heads/main nothing |
2269e2a8 NTND |
28 | ' |
29 | ||
30 | test_expect_success 'delete_refs() not allowed' ' | |
64da4199 | 31 | test_must_fail $RUN delete-refs 0 nothing FOO refs/tags/new-tag |
2269e2a8 NTND |
32 | ' |
33 | ||
34 | test_expect_success 'rename_refs() not allowed' ' | |
06d53148 | 35 | test_must_fail $RUN rename-ref refs/heads/main refs/heads/new-main |
2269e2a8 NTND |
36 | ' |
37 | ||
38 | test_expect_success 'for_each_ref(refs/heads/)' ' | |
b1484ca9 | 39 | $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && |
2269e2a8 | 40 | cat >expected <<-\EOF && |
06d53148 JS |
41 | main 0x0 |
42 | new-main 0x0 | |
2269e2a8 NTND |
43 | EOF |
44 | test_cmp expected actual | |
45 | ' | |
46 | ||
adac8115 | 47 | test_expect_success 'for_each_ref() is sorted' ' |
b1484ca9 | 48 | $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && |
adac8115 NTND |
49 | sort actual > expected && |
50 | test_cmp expected actual | |
51 | ' | |
52 | ||
06d53148 JS |
53 | test_expect_success 'resolve_ref(main)' ' |
54 | SHA1=`git -C sub rev-parse main` && | |
55 | echo "$SHA1 refs/heads/main 0x0" >expected && | |
56 | $RUN resolve-ref refs/heads/main 0 >actual && | |
2269e2a8 NTND |
57 | test_cmp expected actual |
58 | ' | |
59 | ||
06d53148 JS |
60 | test_expect_success 'verify_ref(new-main)' ' |
61 | $RUN verify-ref refs/heads/new-main | |
2269e2a8 NTND |
62 | ' |
63 | ||
64 | test_expect_success 'for_each_reflog()' ' | |
b1484ca9 | 65 | $RUN for-each-reflog | sort | cut -d" " -f 2- >actual && |
2269e2a8 NTND |
66 | cat >expected <<-\EOF && |
67 | HEAD 0x1 | |
06d53148 JS |
68 | refs/heads/main 0x0 |
69 | refs/heads/new-main 0x0 | |
2269e2a8 NTND |
70 | EOF |
71 | test_cmp expected actual | |
72 | ' | |
73 | ||
74 | test_expect_success 'for_each_reflog_ent()' ' | |
3c29e21e | 75 | $RUN for-each-reflog-ent HEAD >actual && |
2269e2a8 | 76 | head -n1 actual | grep first && |
06d53148 | 77 | tail -n2 actual | head -n1 | grep main.to.new |
2269e2a8 NTND |
78 | ' |
79 | ||
80 | test_expect_success 'for_each_reflog_ent_reverse()' ' | |
81 | $RUN for-each-reflog-ent-reverse HEAD >actual && | |
06d53148 | 82 | head -n1 actual | grep main.to.new && |
2269e2a8 NTND |
83 | tail -n2 actual | head -n1 | grep first |
84 | ' | |
85 | ||
86 | test_expect_success 'reflog_exists(HEAD)' ' | |
87 | $RUN reflog-exists HEAD | |
88 | ' | |
89 | ||
90 | test_expect_success 'delete_reflog() not allowed' ' | |
91 | test_must_fail $RUN delete-reflog HEAD | |
92 | ' | |
93 | ||
94 | test_expect_success 'create-reflog() not allowed' ' | |
95 | test_must_fail $RUN create-reflog HEAD 1 | |
96 | ' | |
97 | ||
98 | test_done |