Fossil SCM
Started on pass 5, computing the initial approximate set of project level revisions, aka 'ChangeSets'. Skeleton of the pass added.
Commit
54d1e3537e71e15d58ac7b46f0c68cba538f3fb5
Parent
959192d4b7b5e2d…
3 files changed
+27
+2
+1
| --- a/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | ||
| +++ b/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | ||
| @@ -0,0 +1,27 @@ | ||
| 1 | +## # /TODO/load changesetset csets {}csetscsetcsets $ccv} { | |
| 2 | + upvar 1 $cv csets | |
| 3 | +lappend csets#lappend csets#cv} { | |
| 4 | + upvar 1 $cv csets | |
| 5 | +lappend csets]lappend csets]lappend csets]lappend csets]cv} { | |
| 6 | + upvar 1 $cv csets | |
| 7 | +## cset$csetscsets$csets$csetsn 0# The main method for splitting does only one split, which | |
| 8 | + # may not be enough. The code here iterates until no more | |
| 9 | + # splits can be performed. An iterative algorithm was | |
| 10 | + # chosen over a recursive one to prevent running into | |
| 11 | + # stack limits. | |
| 12 | + | |
| 13 | + set tosplidefines the first approximate set at 0 | |
| 14 | + | |
| 15 | +## level set at 0 | |
| 16 | + while {$aeces, causing the loop to | |
| 17 | + # immediately check the first of the two pieces | |
| 18 | + # again for further break possibilities. The | |
| 19 | + # other piece is added at the end, thus processed | |
| 20 | + # later. | |
| 21 | + while {[[lindex $tosplit $at]tosplit]} {} | |
| 22 | + incr at | |
| 23 | + } | |
| 24 | + | |
| 25 | + # At last the generated fragments are added to the main | |
| 26 | + # list of chan 1 end] { lappend csets $cset ; incr n }CreateSymbolChangesets{Saving the created chad changesetset csets {}csetscsetcsets $ccv} { | |
| 27 | + upvar 1 $cv cse## |
| --- a/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | |
| +++ b/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | |
| @@ -0,0 +1,27 @@ | |
| --- a/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | |
| +++ b/tools/cvs2fossil/lib/c2f_pinitcsets.tcl | |
| @@ -0,0 +1,27 @@ | |
| 1 | ## # /TODO/load changesetset csets {}csetscsetcsets $ccv} { |
| 2 | upvar 1 $cv csets |
| 3 | lappend csets#lappend csets#cv} { |
| 4 | upvar 1 $cv csets |
| 5 | lappend csets]lappend csets]lappend csets]lappend csets]cv} { |
| 6 | upvar 1 $cv csets |
| 7 | ## cset$csetscsets$csets$csetsn 0# The main method for splitting does only one split, which |
| 8 | # may not be enough. The code here iterates until no more |
| 9 | # splits can be performed. An iterative algorithm was |
| 10 | # chosen over a recursive one to prevent running into |
| 11 | # stack limits. |
| 12 | |
| 13 | set tosplidefines the first approximate set at 0 |
| 14 | |
| 15 | ## level set at 0 |
| 16 | while {$aeces, causing the loop to |
| 17 | # immediately check the first of the two pieces |
| 18 | # again for further break possibilities. The |
| 19 | # other piece is added at the end, thus processed |
| 20 | # later. |
| 21 | while {[[lindex $tosplit $at]tosplit]} {} |
| 22 | incr at |
| 23 | } |
| 24 | |
| 25 | # At last the generated fragments are added to the main |
| 26 | # list of chan 1 end] { lappend csets $cset ; incr n }CreateSymbolChangesets{Saving the created chad changesetset csets {}csetscsetcsets $ccv} { |
| 27 | upvar 1 $cv cse## |
| --- tools/cvs2fossil/lib/cvs2fossil.tcl | ||
| +++ tools/cvs2fossil/lib/cvs2fossil.tcl | ||
| @@ -31,10 +31,12 @@ | ||
| 31 | 31 | |
| 32 | 32 | # Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass |
| 33 | 33 | # are not implemented by us. They are irrelevant due to our use |
| 34 | 34 | # of a relational database proper for the persistent state, |
| 35 | 35 | # allowing us to sort the data on the fly as we need it. |
| 36 | + | |
| 37 | +package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets | |
| 36 | 38 | |
| 37 | 39 | # # ## ### ##### ######## ############# ##################### |
| 38 | 40 | ## Support for passes etc. |
| 39 | 41 | |
| 40 | 42 | package require vc::fossil::import::cvs::option ; # Cmd line parsing & database |
| 41 | 43 |
| --- tools/cvs2fossil/lib/cvs2fossil.tcl | |
| +++ tools/cvs2fossil/lib/cvs2fossil.tcl | |
| @@ -31,10 +31,12 @@ | |
| 31 | |
| 32 | # Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass |
| 33 | # are not implemented by us. They are irrelevant due to our use |
| 34 | # of a relational database proper for the persistent state, |
| 35 | # allowing us to sort the data on the fly as we need it. |
| 36 | |
| 37 | # # ## ### ##### ######## ############# ##################### |
| 38 | ## Support for passes etc. |
| 39 | |
| 40 | package require vc::fossil::import::cvs::option ; # Cmd line parsing & database |
| 41 |
| --- tools/cvs2fossil/lib/cvs2fossil.tcl | |
| +++ tools/cvs2fossil/lib/cvs2fossil.tcl | |
| @@ -31,10 +31,12 @@ | |
| 31 | |
| 32 | # Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass |
| 33 | # are not implemented by us. They are irrelevant due to our use |
| 34 | # of a relational database proper for the persistent state, |
| 35 | # allowing us to sort the data on the fly as we need it. |
| 36 | |
| 37 | package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets |
| 38 | |
| 39 | # # ## ### ##### ######## ############# ##################### |
| 40 | ## Support for passes etc. |
| 41 | |
| 42 | package require vc::fossil::import::cvs::option ; # Cmd line parsing & database |
| 43 |
| --- tools/cvs2fossil/lib/pkgIndex.tcl | ||
| +++ tools/cvs2fossil/lib/pkgIndex.tcl | ||
| @@ -14,10 +14,11 @@ | ||
| 14 | 14 | package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]] |
| 15 | 15 | package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]] |
| 16 | 16 | package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]] |
| 17 | 17 | package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]] |
| 18 | 18 | package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]] |
| 19 | +package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]] | |
| 19 | 20 | package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]] |
| 20 | 21 | package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]] |
| 21 | 22 | package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]] |
| 22 | 23 | package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]] |
| 23 | 24 | package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]] |
| 24 | 25 |
| --- tools/cvs2fossil/lib/pkgIndex.tcl | |
| +++ tools/cvs2fossil/lib/pkgIndex.tcl | |
| @@ -14,10 +14,11 @@ | |
| 14 | package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]] |
| 15 | package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]] |
| 16 | package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]] |
| 17 | package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]] |
| 18 | package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]] |
| 19 | package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]] |
| 20 | package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]] |
| 21 | package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]] |
| 22 | package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]] |
| 23 | package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]] |
| 24 |
| --- tools/cvs2fossil/lib/pkgIndex.tcl | |
| +++ tools/cvs2fossil/lib/pkgIndex.tcl | |
| @@ -14,10 +14,11 @@ | |
| 14 | package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]] |
| 15 | package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]] |
| 16 | package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]] |
| 17 | package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]] |
| 18 | package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]] |
| 19 | package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]] |
| 20 | package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]] |
| 21 | package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]] |
| 22 | package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]] |
| 23 | package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]] |
| 24 | package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]] |
| 25 |