Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Modified the API for the construction of changesets a bit, now allowing their construction with the correct id, instead of correcting it later. Updated pass 5 to use this, and fixed bug where the id counter for changesets was left uninitialized, allowing the improper generation of duplicate ids. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
65be27aa69956266ba1f92fa2fef3e59 |
| User & Date: | aku 2007-11-22 03:11:34.000 |
Context
|
2007-11-22
| ||
| 03:21 | Extended changeset class with in-memory database mapping from changeset ids to the proper object, and extended the objects with position information and associated accessors. Extended pass 8 to load the commit order computed in pass 6, this is stored in the new position slot of changesets, and an inverted index mapping from position to changeset at that position. ... (check-in: de4cff4142 user: aku tags: trunk) | |
| 03:11 | Modified the API for the construction of changesets a bit, now allowing their construction with the correct id, instead of correcting it later. Updated pass 5 to use this, and fixed bug where the id counter for changesets was left uninitialized, allowing the improper generation of duplicate ids. ... (check-in: 65be27aa69 user: aku tags: trunk) | |
| 03:03 | Reworked the cycle breaker internals, moving the code handling the replacement of a changset (= node) with its fragments into a separate command. Extended the API, exposing the replacement operation, for use by passes. Added debugging code showing the set of consumable nodes for each iteration. ... (check-in: ad7d5c2d10 user: aku tags: trunk) | |
Changes
Changes to tools/cvs2fossil/lib/c2f_pinitcsets.tcl.
| ︙ | ︙ | |||
112 113 114 115 116 117 118 |
ORDER BY C.cid
}] {
set r [project::rev %AUTO% [repository projectof $pid] $cstype $srcid [state run {
SELECT C.rid
FROM csrevision C
WHERE C.cid = $id
ORDER BY C.pos
| < | > | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
ORDER BY C.cid
}] {
set r [project::rev %AUTO% [repository projectof $pid] $cstype $srcid [state run {
SELECT C.rid
FROM csrevision C
WHERE C.cid = $id
ORDER BY C.pos
}] $id]
}
project::rev getcstypes
project::rev loadcounter
return
}
typemethod run {} {
# Pass manager interface. Executed to perform the
# functionality of the pass.
|
| ︙ | ︙ |
Changes to tools/cvs2fossil/lib/c2f_prev.tcl.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 |
# # ## ### ##### ######## ############# #####################
##
snit::type ::vc::fossil::import::cvs::project::rev {
# # ## ### ##### ######## #############
## Public API
| | > > > | > > < < | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# # ## ### ##### ######## ############# #####################
##
snit::type ::vc::fossil::import::cvs::project::rev {
# # ## ### ##### ######## #############
## Public API
constructor {project cstype srcid revisions {theid {}}} {
if {$theid ne ""} {
set myid $theid
} else {
set myid [incr mycounter]
}
set myproject $project
set mytype $cstype
set mysrcid $srcid
set myrevisions $revisions
# Keep track of the generated changesets and of the inverse
# mapping from revisions to them.
lappend mychangesets $self
foreach r $revisions { set myrevmap($r) $self }
return
}
method id {} { return $myid }
method revisions {} { return $myrevisions }
method data {} { return [list $myproject $mytype $mysrcid] }
method bysymbol {} { return [expr {$mytype eq "sym"}] }
method byrevision {} { return [expr {$mytype eq "rev"}] }
method successors {} {
# NOTE / FUTURE: Possible bottleneck.
set csets {}
foreach {_ children} [$self nextmap] {
|
| ︙ | ︙ |