12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
|
## Pass II. This pass parses the collected rcs archives and extracts
## all the information they contain (revisions, and symbols).
# # ## ### ##### ######## ############# #####################
## Requirements
package require Tcl 8.4 ; # Required runtime.
package require snit ; # OO system.
package require vc::tools::trouble ; # Error reporting.
package require vc::tools::log ; # User feedback.
package require vc::fossil::import::cvs::pass ; # Pass management.
package require vc::fossil::import::cvs::repository ; # Repository management.
package require vc::fossil::import::cvs::state ; # State storage.
package require vc::rcs::parser ; # Rcs archive data extraction.
package require Tcl 8.4 ; # Required runtime.
package require snit ; # OO system.
package require vc::tools::trouble ; # Error reporting.
package require vc::tools::log ; # User feedback.
package require vc::fossil::import::cvs::pass ; # Pass management.
package require vc::fossil::import::cvs::repository ; # Repository management.
package require vc::fossil::import::cvs::state ; # State storage.
package require vc::fossil::import::cvs::project::sym ; # Project level symbols
package require vc::rcs::parser ; # Rcs archive data extraction.
# # ## ### ##### ######## ############# #####################
## Register the pass with the management
vc::fossil::import::cvs::pass define \
CollectRev \
{Collect revisions and symbols} \
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
-
-
+
+
+
+
|
sid INTEGER NOT NULL REFERENCES symbol, --
pid INTEGER NOT NULL REFERENCES symbol, -- Possible parent of sid
n INTEGER NOT NULL, -- How often pid can act as parent.
UNIQUE (sid, pid)
}
state writing symtype {
tid INTEGER NOT NULL PRIMARY KEY,
name TEXT NOT NULL,
tid INTEGER NOT NULL PRIMARY KEY,
name TEXT NOT NULL,
plural TEXT NOT NULL,
UNIQUE (name)
UNIQUE (plural)
}
state run {
INSERT INTO symtype VALUES (0,'excluded');
INSERT INTO symtype VALUES (1,'tag');
INSERT INTO symtype VALUES (2,'branch');
INSERT INTO symtype VALUES (3,'undefined');
}
|
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
|
+
+
+
-
+
|
}
state writing cmessage {
cid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
text TEXT NOT NULL UNIQUE
}
project::sym getsymtypes
return
}
typemethod load {} {
state reading symbol
state reading symtype
project::sym getsymtypes
repository loadsymbols
repository loadsymbols
return
}
typemethod run {} {
# Pass manager interface. Executed to perform the
# functionality of the pass.
|
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
|
+
+
+
|
namespace eval ::vc::fossil::import::cvs::pass {
namespace export collrev
namespace eval collrev {
namespace import ::vc::rcs::parser
namespace import ::vc::fossil::import::cvs::repository
namespace import ::vc::fossil::import::cvs::state
namespace eval project {
namespace import ::vc::fossil::import::cvs::project::sym
}
namespace import ::vc::tools::trouble
namespace import ::vc::tools::log
log register collrev
}
}
# # ## ### ##### ######## ############# #####################
## Ready
package provide vc::fossil::import::cvs::pass::collrev 1.0
return
|