]>
Commit | Line | Data |
---|---|---|
795c7c0b JK |
1 | #!/bin/sh |
2 | ||
f964732c | 3 | test_description='git cvsimport basic tests' |
765577b5 | 4 | GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main |
334afbc7 JS |
5 | export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME |
6 | ||
535bb893 | 7 | . ./lib-cvs.sh |
795c7c0b | 8 | |
a78d9258 ÆAB |
9 | if ! test_have_prereq NOT_ROOT; then |
10 | skip_all='When cvs is compiled with CVS_BADROOT commits as root fail' | |
11 | test_done | |
12 | fi | |
13 | ||
900eab44 ÆAB |
14 | test_expect_success PERL 'setup cvsroot environment' ' |
15 | CVSROOT=$(pwd)/cvsroot && | |
16 | export CVSROOT | |
17 | ' | |
dcbcb707 | 18 | |
900eab44 | 19 | test_expect_success PERL 'setup cvsroot' '$CVS init' |
795c7c0b | 20 | |
900eab44 | 21 | test_expect_success PERL 'setup a cvs module' ' |
795c7c0b | 22 | |
f69e836f | 23 | mkdir "$CVSROOT/module" && |
161261b1 | 24 | $CVS co -d module-cvs module && |
fd4ec4f2 | 25 | (cd module-cvs && |
795c7c0b JK |
26 | cat <<EOF >o_fortuna && |
27 | O Fortuna | |
28 | velut luna | |
29 | statu variabilis, | |
30 | ||
31 | semper crescis | |
32 | aut decrescis; | |
33 | vita detestabilis | |
34 | ||
35 | nunc obdurat | |
36 | et tunc curat | |
37 | ludo mentis aciem, | |
38 | ||
39 | egestatem, | |
40 | potestatem | |
41 | dissolvit ut glaciem. | |
42 | EOF | |
161261b1 | 43 | $CVS add o_fortuna && |
795c7c0b JK |
44 | cat <<EOF >message && |
45 | add "O Fortuna" lyrics | |
46 | ||
47 | These public domain lyrics make an excellent sample text. | |
48 | EOF | |
fd4ec4f2 JL |
49 | $CVS commit -F message |
50 | ) | |
795c7c0b JK |
51 | ' |
52 | ||
900eab44 | 53 | test_expect_success PERL 'import a trivial module' ' |
795c7c0b | 54 | |
0455ec03 | 55 | git cvsimport -a -R -z 0 -C module-git module && |
3af82863 | 56 | test_cmp module-cvs/o_fortuna module-git/o_fortuna |
795c7c0b JK |
57 | |
58 | ' | |
59 | ||
347c47e6 | 60 | test_expect_success PERL 'pack refs' '(cd module-git && git gc)' |
9da0dabc | 61 | |
900eab44 | 62 | test_expect_success PERL 'initial import has correct .git/cvs-revisions' ' |
0455ec03 AC |
63 | |
64 | (cd module-git && | |
65 | git log --format="o_fortuna 1.1 %H" -1) > expected && | |
66 | test_cmp expected module-git/.git/cvs-revisions | |
67 | ' | |
68 | ||
900eab44 | 69 | test_expect_success PERL 'update cvs module' ' |
fd4ec4f2 | 70 | (cd module-cvs && |
795c7c0b JK |
71 | cat <<EOF >o_fortuna && |
72 | O Fortune, | |
73 | like the moon | |
74 | you are changeable, | |
75 | ||
76 | ever waxing | |
77 | and waning; | |
78 | hateful life | |
79 | ||
80 | first oppresses | |
81 | and then soothes | |
82 | as fancy takes it; | |
83 | ||
84 | poverty | |
85 | and power | |
86 | it melts them like ice. | |
87 | EOF | |
88 | cat <<EOF >message && | |
89 | translate to English | |
90 | ||
91 | My Latin is terrible. | |
92 | EOF | |
fd4ec4f2 JL |
93 | $CVS commit -F message |
94 | ) | |
795c7c0b JK |
95 | ' |
96 | ||
900eab44 | 97 | test_expect_success PERL 'update git module' ' |
795c7c0b | 98 | |
fd4ec4f2 | 99 | (cd module-git && |
60d5985d MG |
100 | git config cvsimport.trackRevisions true && |
101 | git cvsimport -a -z 0 module && | |
fd4ec4f2 JL |
102 | git merge origin |
103 | ) && | |
3af82863 | 104 | test_cmp module-cvs/o_fortuna module-git/o_fortuna |
795c7c0b JK |
105 | |
106 | ' | |
107 | ||
900eab44 | 108 | test_expect_success PERL 'update has correct .git/cvs-revisions' ' |
0455ec03 AC |
109 | |
110 | (cd module-git && | |
111 | git log --format="o_fortuna 1.1 %H" -1 HEAD^ && | |
112 | git log --format="o_fortuna 1.2 %H" -1 HEAD) > expected && | |
113 | test_cmp expected module-git/.git/cvs-revisions | |
114 | ' | |
115 | ||
900eab44 | 116 | test_expect_success PERL 'update cvs module' ' |
67d23242 | 117 | |
fd4ec4f2 | 118 | (cd module-cvs && |
67d23242 | 119 | echo 1 >tick && |
161261b1 MH |
120 | $CVS add tick && |
121 | $CVS commit -m 1 | |
fd4ec4f2 | 122 | ) |
67d23242 JK |
123 | ' |
124 | ||
900eab44 | 125 | test_expect_success PERL 'cvsimport.module config works' ' |
67d23242 | 126 | |
fd4ec4f2 | 127 | (cd module-git && |
67d23242 | 128 | git config cvsimport.module module && |
60d5985d MG |
129 | git config cvsimport.trackRevisions true && |
130 | git cvsimport -a -z0 && | |
fd4ec4f2 JL |
131 | git merge origin |
132 | ) && | |
3af82863 | 133 | test_cmp module-cvs/tick module-git/tick |
67d23242 JK |
134 | |
135 | ' | |
136 | ||
900eab44 | 137 | test_expect_success PERL 'second update has correct .git/cvs-revisions' ' |
0455ec03 AC |
138 | |
139 | (cd module-git && | |
140 | git log --format="o_fortuna 1.1 %H" -1 HEAD^^ && | |
cff4243d | 141 | git log --format="o_fortuna 1.2 %H" -1 HEAD^ && |
0455ec03 AC |
142 | git log --format="tick 1.1 %H" -1 HEAD) > expected && |
143 | test_cmp expected module-git/.git/cvs-revisions | |
144 | ' | |
145 | ||
900eab44 | 146 | test_expect_success PERL 'import from a CVS working tree' ' |
4e596e98 | 147 | |
161261b1 | 148 | $CVS co -d import-from-wt module && |
fd4ec4f2 | 149 | (cd import-from-wt && |
60d5985d | 150 | git config cvsimport.trackRevisions false && |
4e596e98 JK |
151 | git cvsimport -a -z0 && |
152 | echo 1 >expect && | |
153 | git log -1 --pretty=format:%s%n >actual && | |
dcbaa0b3 | 154 | test_cmp expect actual |
fd4ec4f2 | 155 | ) |
4e596e98 JK |
156 | |
157 | ' | |
158 | ||
900eab44 | 159 | test_expect_success PERL 'no .git/cvs-revisions created by default' ' |
0455ec03 AC |
160 | |
161 | ! test -e import-from-wt/.git/cvs-revisions | |
162 | ||
163 | ' | |
164 | ||
765577b5 | 165 | test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main' |
cefa318d | 166 | |
795c7c0b | 167 | test_done |