t8*: adjust the references to the default branch name "main"
[git] / t / t1405-main-ref-store.sh
1 #!/bin/sh
2
3 test_description='test main ref store api'
4
5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
7
8 . ./test-lib.sh
9
10 RUN="test-tool ref-store main"
11
12 test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
13         test_commit one &&
14         N=`find .git/refs -type f | wc -l` &&
15         test "$N" != 0 &&
16         $RUN pack-refs 3 &&
17         N=`find .git/refs -type f | wc -l`
18 '
19
20 test_expect_success 'peel_ref(new-tag)' '
21         git rev-parse HEAD >expected &&
22         git tag -a -m new-tag new-tag HEAD &&
23         $RUN peel-ref refs/tags/new-tag >actual &&
24         test_cmp expected actual
25 '
26
27 test_expect_success 'create_symref(FOO, refs/heads/main)' '
28         $RUN create-symref FOO refs/heads/main nothing &&
29         echo refs/heads/main >expected &&
30         git symbolic-ref FOO >actual &&
31         test_cmp expected actual
32 '
33
34 test_expect_success 'delete_refs(FOO, refs/tags/new-tag)' '
35         git rev-parse FOO -- &&
36         git rev-parse refs/tags/new-tag -- &&
37         m=$(git rev-parse main) &&
38         REF_NO_DEREF=1 &&
39         $RUN delete-refs $REF_NO_DEREF nothing FOO refs/tags/new-tag &&
40         test_must_fail git rev-parse --symbolic-full-name FOO &&
41         test_must_fail git rev-parse FOO -- &&
42         test_must_fail git rev-parse refs/tags/new-tag --
43 '
44
45 test_expect_success 'rename_refs(main, new-main)' '
46         git rev-parse main >expected &&
47         $RUN rename-ref refs/heads/main refs/heads/new-main &&
48         git rev-parse new-main >actual &&
49         test_cmp expected actual &&
50         test_commit recreate-main
51 '
52
53 test_expect_success 'for_each_ref(refs/heads/)' '
54         $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual &&
55         cat >expected <<-\EOF &&
56         main 0x0
57         new-main 0x0
58         EOF
59         test_cmp expected actual
60 '
61
62 test_expect_success 'for_each_ref() is sorted' '
63         $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual &&
64         sort actual > expected &&
65         test_cmp expected actual
66 '
67
68 test_expect_success 'resolve_ref(new-main)' '
69         SHA1=`git rev-parse new-main` &&
70         echo "$SHA1 refs/heads/new-main 0x0" >expected &&
71         $RUN resolve-ref refs/heads/new-main 0 >actual &&
72         test_cmp expected actual
73 '
74
75 test_expect_success 'verify_ref(new-main)' '
76         $RUN verify-ref refs/heads/new-main
77 '
78
79 test_expect_success 'for_each_reflog()' '
80         $RUN for-each-reflog | sort -k2 | cut -d" " -f 2- >actual &&
81         cat >expected <<-\EOF &&
82         HEAD 0x1
83         refs/heads/main 0x0
84         refs/heads/new-main 0x0
85         EOF
86         test_cmp expected actual
87 '
88
89 test_expect_success 'for_each_reflog_ent()' '
90         $RUN for-each-reflog-ent HEAD >actual &&
91         head -n1 actual | grep one &&
92         tail -n2 actual | head -n1 | grep recreate-main
93 '
94
95 test_expect_success 'for_each_reflog_ent_reverse()' '
96         $RUN for-each-reflog-ent-reverse HEAD >actual &&
97         head -n1 actual | grep recreate-main &&
98         tail -n2 actual | head -n1 | grep one
99 '
100
101 test_expect_success 'reflog_exists(HEAD)' '
102         $RUN reflog-exists HEAD
103 '
104
105 test_expect_success 'delete_reflog(HEAD)' '
106         $RUN delete-reflog HEAD &&
107         ! test -f .git/logs/HEAD
108 '
109
110 test_expect_success 'create-reflog(HEAD)' '
111         $RUN create-reflog HEAD 1 &&
112         test -f .git/logs/HEAD
113 '
114
115 test_expect_success 'delete_ref(refs/heads/foo)' '
116         git checkout -b foo &&
117         FOO_SHA1=`git rev-parse foo` &&
118         git checkout --detach &&
119         test_commit bar-commit &&
120         git checkout -b bar &&
121         BAR_SHA1=`git rev-parse bar` &&
122         $RUN update-ref updating refs/heads/foo $BAR_SHA1 $FOO_SHA1 0 &&
123         echo $BAR_SHA1 >expected &&
124         git rev-parse refs/heads/foo >actual &&
125         test_cmp expected actual
126 '
127
128 test_expect_success 'delete_ref(refs/heads/foo)' '
129         SHA1=`git rev-parse foo` &&
130         git checkout --detach &&
131         $RUN delete-ref msg refs/heads/foo $SHA1 0 &&
132         test_must_fail git rev-parse refs/heads/foo --
133 '
134
135 test_done