Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_project.tcl part of check-in [1deb3786aa] - Added saving of the fundamental symbol information (project level). by aku on 2007-10-26 05:28:24. [view]

To:

File tools/cvs2fossil/lib/c2f_project.tcl part of check-in [6f8667b03e] - Added code creating aggregate symbol statistics. This completes pass 2 (CollRev). by aku on 2007-10-31 03:44:01. [view]

@@ -20,8 +20,9 @@
 package require vc::fossil::import::cvs::file           ; # CVS archive file.
 package require vc::fossil::import::cvs::state          ; # State storage.
 package require vc::fossil::import::cvs::project::sym   ; # Per project symbols.
 package require vc::fossil::import::cvs::project::trunk ; # Per project trunk, main lod
+package require vc::tools::log                          ; # User feedback
 package require struct::list                            ; # Advanced list operations..
 
 # # ## ### ##### ######## ############# #####################
 ##
@@ -33,8 +34,9 @@
     constructor {path r} {
 	set mybase       $path
 	set myrepository $r
 	set mytrunk      [trunk %AUTO% $self]
+	set mysymbol([$mytrunk name]) $mytrunk
 	return
     }
 
     method base  {} { return $mybase  }
@@ -75,8 +77,23 @@
 	    set mysymbol($name) \
 		[sym %AUTO% $name [$myrepository defsymbol $myid $name] $self]
 	}
 	return $mysymbol($name)
+    }
+
+    method purgeghostsymbols {} {
+	set changes 1
+	while {$changes} {
+	    set changes 0
+	    foreach {name symbol} [array get mysymbol] {
+		if {![$symbol isghost]} continue
+		log write 3 project "$mybase: Deleting ghost symbol '$name'"
+		$symbol destroy
+		unset mysymbol($name)
+		set changes 1
+	    }
+	}
+	return
     }
 
     # pass I persistence
     method persist {} {
@@ -178,8 +195,9 @@
 
 namespace eval ::vc::fossil::import::cvs {
     namespace export project
     namespace eval project {
+	namespace import ::vc::tools::log
 	namespace import ::vc::fossil::import::cvs::file
 	namespace import ::vc::fossil::import::cvs::state
 	# Import not required, already a child namespace.
 	# namespace import ::vc::fossil::import::cvs::project::sym