— part of check-in
on branch trunk
— Updated my notes regarding memory usage. Converted more locations to incremental query processing via 'state foreachrow', now throughout the importer.
Known problems and areas to work on
* Not yet able to handle the specification of multiple projects
for one CVS repository. I.e. I can, for example, import all of
tcllib, or a single subproject of tcllib, like tklib, but not
multiple sub-projects in one go.
* Consider to rework the breaker- and sort-passes so that they
do not need all changesets as objects in memory.
Current memory consumption after all changesets are loaded:
bwidget 6971627 6.6
cvs-memchan 4634049 4.4
cvs-sqlite 45674501 43.6
cvs-trf 8781289 8.4
faqs 2835116 2.7
libtommath 4405066 4.2
mclistbox 3350190 3.2
newclock 5020460 4.8
oocore 4064574 3.9
sampleextension 4729932 4.5
tclapps 8482135 8.1
tclbench 4116887 3.9
tcl_bignum 2545192 2.4
tclconfig 4105042 3.9
tcllib 31707688 30.2
tcltutorial 3512048 3.3
tcl 109926382 104.8
thread 8953139 8.5
tklib 13935220 13.3
tk 66149870 63.1
widget 2625609 2.5
* Look at the dependencies on external packages and consider
which of them can be moved into the importer, either as a
simple utility command, or wholesale.
assign, map, reverse, filter
Very few and self-contained commands.
size, empty, contains, add, include, exclude,
Most of the core commands.
cat, appendToFile, writeFile,
tempfile, stripPath, test