Not logged in
Diff

Differences From Artifact [d447e0dea4]:

  • File tools/cvs2fossil/lib/c2f_pcollrev.tcl — part of check-in [c3d5104084] at 2007-11-02 04:26:32 on branch trunk — Added code for the loading of pass II data (currently only the smybols) from the state when pass II is skipped. (user: aku size: 19744)

To Artifact [98fd60f570]:

  • File tools/cvs2fossil/lib/c2f_pcollrev.tcl — part of check-in [f888f06fe3] at 2007-11-02 06:06:24 on branch trunk — Continued work on pass 3, added code to determine the type of symbols based on the tag-, branch-, and commit-counts. Hook for handling data coming from the option processoris present (UserConfig), but only as a placeholder. (user: aku size: 20062)

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