1 | |
---|
2 | import sys |
---|
3 | import os |
---|
4 | |
---|
5 | #------------------------------------------------------------ |
---|
6 | def CVSROOT () : |
---|
7 | return ('/dev/CMT/v1r7/demo/scenario4/cvsroot') |
---|
8 | #------------------------------------------------------------ |
---|
9 | |
---|
10 | #------------------------------------------------------------ |
---|
11 | def scroot () : |
---|
12 | s = os.environ ['CMTROOT'] + '/demo/scenario4' |
---|
13 | return (s) |
---|
14 | #------------------------------------------------------------ |
---|
15 | |
---|
16 | #------------------------------------------------------------ |
---|
17 | def remove_dir (d): |
---|
18 | if not os.path.exists (d) : return |
---|
19 | |
---|
20 | for f in os.listdir(d) : |
---|
21 | name = d + '/' + f |
---|
22 | if os.path.isdir (name) : remove_dir (name) |
---|
23 | else : |
---|
24 | os.chmod (name, 0777) |
---|
25 | os.remove (name) |
---|
26 | |
---|
27 | os.rmdir (d) |
---|
28 | #------------------------------------------------------------ |
---|
29 | |
---|
30 | #------------------------------------------------------------ |
---|
31 | def setuses (package, uses) : |
---|
32 | prefix = os.path.dirname (package) |
---|
33 | name = os.path.basename (package) |
---|
34 | |
---|
35 | # print ('pre=[' + prefix + '] name=[' + name + ']') |
---|
36 | |
---|
37 | if prefix is '' : os.chdir (scroot ()) |
---|
38 | else : os.chdir (scroot () + '/' + prefix) |
---|
39 | |
---|
40 | os.chdir (name) |
---|
41 | os.chdir ('v1/cmt') |
---|
42 | |
---|
43 | f = open ('requirements', 'a+b') |
---|
44 | |
---|
45 | for u in uses : |
---|
46 | p = os.path.dirname (u) |
---|
47 | n = os.path.basename (u) |
---|
48 | #print ('use ' + n + ' v1 ' + p) |
---|
49 | f.write ('use ' + n + ' v1 ' + p + '\n') |
---|
50 | |
---|
51 | f.close () |
---|
52 | |
---|
53 | #------------------------------------------------------------ |
---|
54 | |
---|
55 | #------------------------------------------------------------ |
---|
56 | def cvsimport (package, prefix = '') : |
---|
57 | if prefix is '' : os.chdir (scroot ()) |
---|
58 | else : os.chdir (scroot () + '/' + prefix) |
---|
59 | |
---|
60 | if not os.path.exists ('CVS') : os.mkdir ('CVS') |
---|
61 | if not os.path.exists ('CVS/Entries') : |
---|
62 | f = open ('CVS/Entries', 'wb') |
---|
63 | f.write ('\n') |
---|
64 | f.close () |
---|
65 | if not os.path.exists ('CVS/Repository') : |
---|
66 | f = open ('CVS/Repository', 'wb') |
---|
67 | f.write (prefix + '\n') |
---|
68 | f.close () |
---|
69 | if not os.path.exists ('CVS/Root') : |
---|
70 | f = open ('CVS/Root', 'wb') |
---|
71 | f.write (CVSROOT () + '\n') |
---|
72 | f.close () |
---|
73 | |
---|
74 | os.system ('cvs -d ' + CVSROOT () + ' add ' + package) |
---|
75 | os.system ('cvs -d ' + CVSROOT () + ' ci -m "" ') |
---|
76 | |
---|
77 | os.chdir (package) |
---|
78 | os.chdir ('v1') |
---|
79 | |
---|
80 | if not os.path.exists ('CVS') : os.mkdir ('CVS') |
---|
81 | if not os.path.exists ('CVS/Entries') : |
---|
82 | f = open ('CVS/Entries', 'wb') |
---|
83 | f.write ('\n') |
---|
84 | f.close () |
---|
85 | if not os.path.exists ('CVS/Repository') : |
---|
86 | f = open ('CVS/Repository', 'wb') |
---|
87 | if prefix is '' : f.write (package + '\n') |
---|
88 | else : f.write (prefix + '/' + package + '\n') |
---|
89 | f.close () |
---|
90 | if not os.path.exists ('CVS/Root') : |
---|
91 | f = open ('CVS/Root', 'wb') |
---|
92 | f.write (CVSROOT () + '\n') |
---|
93 | f.close () |
---|
94 | |
---|
95 | os.system ('cvs -d ' + CVSROOT () + ' add src') |
---|
96 | os.system ('cvs -d ' + CVSROOT () + ' add cmt') |
---|
97 | os.system ('cvs -d ' + CVSROOT () + ' ci -m "" ') |
---|
98 | |
---|
99 | os.chdir ('cmt') |
---|
100 | os.system ('cvs -d ' + CVSROOT () + ' add requirements') |
---|
101 | os.system ('cvs -d ' + CVSROOT () + ' ci -m "" ') |
---|
102 | os.system ('cvs -d ' + CVSROOT () + ' tag v1 ') |
---|
103 | os.system ('cvs -d ' + CVSROOT () + ' tag v1r1 ') |
---|
104 | os.system ('cvs -d ' + CVSROOT () + ' tag v1r2 ') |
---|
105 | os.system ('cvs -d ' + CVSROOT () + ' tag v2 ') |
---|
106 | os.system ('cvs -d ' + CVSROOT () + ' tag v2r1 ') |
---|
107 | |
---|
108 | #------------------------------------------------------------ |
---|
109 | |
---|
110 | remove_dir (scroot ()) |
---|
111 | |
---|
112 | os.mkdir (scroot ()) |
---|
113 | os.chdir (scroot ()) |
---|
114 | |
---|
115 | os.system ('cmt create A v1') |
---|
116 | os.system ('cmt create B v1 A') |
---|
117 | os.system ('cmt create C v1 A/B') |
---|
118 | os.system ('cmt create D v1 A/B') |
---|
119 | os.system ('cmt create E v1 A') |
---|
120 | os.system ('cmt create F v1 A') |
---|
121 | os.system ('cmt create G v1 ') |
---|
122 | os.system ('cmt create H v1 ') |
---|
123 | os.system ('cmt create I v1 H') |
---|
124 | os.system ('cmt create J v1 H/I') |
---|
125 | os.system ('cmt create K v1 H/I/J') |
---|
126 | |
---|
127 | setuses ('A/B/D', ['A/B/C']); |
---|
128 | setuses ('A/E', ['A/B/C']); |
---|
129 | setuses ('A/F', ['A/B/D']); |
---|
130 | setuses ('G', ['A/B', 'A/B/D', 'A/E']); |
---|
131 | setuses ('H/I', ['A/E']); |
---|
132 | setuses ('H/I/J', ['A/B/C', 'A/B/D']); |
---|
133 | |
---|
134 | # sys.exit () |
---|
135 | |
---|
136 | os.system ('cvs -d ' + CVSROOT () + ' init') |
---|
137 | |
---|
138 | cvsimport ('A') |
---|
139 | cvsimport ('B', 'A') |
---|
140 | cvsimport ('C', 'A/B') |
---|
141 | cvsimport ('D', 'A/B') |
---|
142 | cvsimport ('E', 'A') |
---|
143 | cvsimport ('F', 'A') |
---|
144 | cvsimport ('G') |
---|
145 | cvsimport ('H') |
---|
146 | cvsimport ('I', 'H') |
---|
147 | cvsimport ('J', 'H/I') |
---|
148 | |
---|