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