]> git.ipfire.org Git - thirdparty/git.git/blame - t/t1406-submodule-ref-store.sh
test-ref-store: don't add newline to reflog message
[thirdparty/git.git] / t / t1406-submodule-ref-store.sh
CommitLineData
2269e2a8
NTND
1#!/bin/sh
2
3test_description='test submodule ref store api'
4
06d53148 5GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
334afbc7
JS
6export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
7
2269e2a8
NTND
8. ./test-lib.sh
9
65370d81 10RUN="test-tool ref-store submodule:sub"
2269e2a8
NTND
11
12test_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
22test_expect_success 'pack_refs() not allowed' '
23 test_must_fail $RUN pack-refs 3
24'
25
2269e2a8 26test_expect_success 'create_symref() not allowed' '
06d53148 27 test_must_fail $RUN create-symref FOO refs/heads/main nothing
2269e2a8
NTND
28'
29
30test_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
34test_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
38test_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 47test_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
53test_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
60test_expect_success 'verify_ref(new-main)' '
61 $RUN verify-ref refs/heads/new-main
2269e2a8
NTND
62'
63
64test_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
74test_expect_success 'for_each_reflog_ent()' '
3c29e21e 75 $RUN for-each-reflog-ent HEAD >actual &&
2269e2a8 76 head -n1 actual | grep first &&
21f0e850 77 tail -n1 actual | grep main.to.new
2269e2a8
NTND
78'
79
80test_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 &&
21f0e850 83 tail -n1 actual | grep first
2269e2a8
NTND
84'
85
86test_expect_success 'reflog_exists(HEAD)' '
87 $RUN reflog-exists HEAD
88'
89
90test_expect_success 'delete_reflog() not allowed' '
91 test_must_fail $RUN delete-reflog HEAD
92'
93
94test_expect_success 'create-reflog() not allowed' '
95 test_must_fail $RUN create-reflog HEAD 1
96'
97
98test_done