[5] | 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 | |
---|