1#!/bin/sh
2
3test_description='git cvsimport basic tests'
4. ./lib-cvs.sh
5
6CVSROOT=$(pwd)/cvsroot
7export CVSROOT
8
9test_expect_success 'setup cvsroot' '$CVS init'
10
11test_expect_success 'setup a cvs module' '
12
13 mkdir "$CVSROOT/module" &&
14 $CVS co -d module-cvs module &&
15 cd module-cvs &&
16 cat <<EOF >o_fortuna &&
17O Fortuna
18velut luna
19statu variabilis,
20
21semper crescis
22aut decrescis;
23vita detestabilis
24
25nunc obdurat
26et tunc curat
27ludo mentis aciem,
28
29egestatem,
30potestatem
31dissolvit ut glaciem.
32EOF
33 $CVS add o_fortuna &&
34 cat <<EOF >message &&
35add "O Fortuna" lyrics
36
37These public domain lyrics make an excellent sample text.
38EOF
39 $CVS commit -F message &&
40 cd ..
41'
42
43test_expect_success 'import a trivial module' '
44
45 git cvsimport -a -z 0 -C module-git module &&
46 test_cmp module-cvs/o_fortuna module-git/o_fortuna
47
48'
49
50test_expect_success 'pack refs' 'cd module-git && git gc && cd ..'
51
52test_expect_success 'update cvs module' '
53
54 cd module-cvs &&
55 cat <<EOF >o_fortuna &&
56O Fortune,
57like the moon
58you are changeable,
59
60ever waxing
61and waning;
62hateful life
63
64first oppresses
65and then soothes
66as fancy takes it;
67
68poverty
69and power
70it melts them like ice.
71EOF
72 cat <<EOF >message &&
73translate to English
74
75My Latin is terrible.
76EOF
77 $CVS commit -F message &&
78 cd ..
79'
80
81test_expect_success 'update git module' '
82
83 cd module-git &&
84 git cvsimport -a -z 0 module &&
85 git merge origin &&
86 cd .. &&
87 test_cmp module-cvs/o_fortuna module-git/o_fortuna
88
89'
90
91test_expect_success 'update cvs module' '
92
93 cd module-cvs &&
94 echo 1 >tick &&
95 $CVS add tick &&
96 $CVS commit -m 1
97 cd ..
98
99'
100
101test_expect_success 'cvsimport.module config works' '
102
103 cd module-git &&
104 git config cvsimport.module module &&
105 git cvsimport -a -z0 &&
106 git merge origin &&
107 cd .. &&
108 test_cmp module-cvs/tick module-git/tick
109
110'
111
112test_expect_success 'import from a CVS working tree' '
113
114 $CVS co -d import-from-wt module &&
115 cd import-from-wt &&
116 git cvsimport -a -z0 &&
117 echo 1 >expect &&
118 git log -1 --pretty=format:%s%n >actual &&
119 test_cmp actual expect &&
120 cd ..
121
122'
123
124test_done