Check-in [54ac684df7]
Not logged in
Overview

SHA1 Hash:54ac684df7feaa0ab5e0945386faa453b707968a
Date: 2007-10-13 23:57:15
User: aku
Comment:Completed loading of pass I from persistent state when skipped.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified tools/cvs2fossil/lib/c2f_pcollar.tcl from [2af84157bc] to [32b24a90eb].

@@ -85,10 +85,12 @@
 	# run passes, to load all data of their pass from the state,
 	# as if it had been computed by the pass itself.
 
 	state reading project
 	state reading file
+
+	repository load
 	return
     }
 
     typemethod run {} {
 	# Pass manager interface. Executed to perform the

Modified tools/cvs2fossil/lib/c2f_project.tcl from [beed7d8406] to [6a6663cbeb].

@@ -50,11 +50,10 @@
     method filenames {} {
 	return [lsort -dict [array names myfiles]]
     }
 
     method files {} {
-	# TODO: Loading from state
 	return [TheFiles]
     }
 
     delegate method author   to myrepository
     delegate method cmessage to myrepository

Modified tools/cvs2fossil/lib/c2f_repository.tcl from [41878e4fb7] to [0384f35a62].

@@ -50,13 +50,10 @@
 	lappend myprojpaths $path
 	return
     }
 
     typemethod projects {} {
-	# TODO: Loading from the state database if CollAr is skipped
-	# in a run.
-
 	return [TheProjects]
     }
 
     typemethod base? {} { return $mybase }
 
@@ -136,10 +133,28 @@
 	    foreach p [TheProjects] { $p persist }
 	}
 	return
     }
 
+    typemethod load {} {
+	array set pr {}
+	state transaction {
+	    foreach   {pid  name} [state run {
+		SELECT pid, name FROM project ;
+	    }] {
+		lappend myprojpaths $name
+		lappend myprojects [set pr($pid) [project %AUTO% $name $type]]
+	    }
+	    foreach   {fid  pid  name  visible  exec} [state run {
+		SELECT fid, pid, name, visible, exec FROM file ;
+	    }] {
+		$pr($pid) addfile $name $visible $exec
+	    }
+	}
+	return
+    }
+
     # pass II results
     typemethod printrevstatistics {} {
 	log write 2 repository "Scanned ..."
 	# number of revisions, symbols, repository wide, per project ...
 	return
@@ -198,11 +213,10 @@
 
     proc TheProjects {} {
 	upvar 1 type type
 	::variable myprojects
 	::variable myprojpaths
-	::variable mybase
 
 	if {![llength $myprojects]} {
 	    set myprojects [EmptyProjects $myprojpaths]
 	}
 	return $myprojects