Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_pinitcsets.tcl part of check-in [f46458d5bd] - Reworked the basic structure of pass InitCSets to keep memory consumption down. Now incremental creates, breaks, saves, and releases changesets, instead of piling them on before saving all at the end. Memory tracking confirms that this changes the accumulating mountain into a near-constant usage, with the expected spikes from the breaking. by aku on 2008-02-17 02:06:19. [view]

To:

File tools/cvs2fossil/lib/c2f_pinitcsets.tcl part of check-in [b3d61d7829] - Fixed bug made in f46458d5bd which prevented the saving of the changesets generated by the breaking of the internal dependencies. by aku on 2008-02-23 06:33:30. Also file tools/cvs2fossil/lib/c2f_pinitcsets.tcl part of check-in [383c10f004] - Merged bugfix b3d61d7829 into this semi-abandoned branch just in case we will work on it again. Do it now instead of forgetting it later. by aku on 2008-02-23 06:37:54. Also file tools/cvs2fossil/lib/c2f_pinitcsets.tcl part of check-in [efec424a19] - Merged bugfix b3d61d7829 into the main branch for optimization of memory usage. by aku on 2008-02-23 06:40:48. [view]

@@ -212,11 +212,12 @@
 		    log write 14 initcsets meta_cset_begin
 		    mem::mark
 		    set cset [project::rev %AUTO% $p rev $lastmeta $revisions]
 		    log write 14 initcsets meta_cset_done
-		    $cset breakinternaldependencies nx
+		    set spawned [$cset breakinternaldependencies nx]
 		    $cset persist
 		    $cset destroy
+		    foreach cset $spawned { $cset persist ; $cset destroy }
 		    mem::mark
 		    set revisions {}
 		}
 		set lastmeta    $mid
@@ -231,11 +232,12 @@
 	    log write 14 initcsets meta_cset_begin
 	    mem::mark
 	    set cset [project::rev %AUTO% $p rev $lastmeta $revisions]
 	    log write 14 initcsets meta_cset_done
-	    $cset breakinternaldependencies nx
+	    set spawned [$cset breakinternaldependencies nx]
 	    $cset persist
 	    $cset destroy
+	    foreach cset $spawned { $cset persist ; $cset destroy }
 	    mem::mark
 	}
 
 	log write 14 initcsets meta_done