Overview
SHA1 Hash: | fbfb53186811bd65b69ae5368c2d8f713995a63c |
---|---|
Date: | 2007-12-02 03:46:33 |
User: | aku |
Comment: | Bugfix in ValidateFragments, tweaked comment a bit, bugfix in SQL, reordered tables in the successor/predecessor queries a bit to show the actual progression of their use. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified tools/cvs2fossil/lib/c2f_prev.tcl from [6a7202a9dc] to [0103dd59f0].
@@ -469,11 +469,11 @@ # changeset. # * The fragment must not overlap, i.e. their pairwise # intersections have to be empty. set cover {} - foreach fragmentitems $args { + foreach fragmentitems $fragments { log write 8 csets {NEW: [lsort $fragmentitems]} integrity assert { ![struct::set empty $fragmentitems] } {changeset fragment is empty} @@ -487,12 +487,12 @@ integrity assert { [struct::set equal $cover [$cset items]] } {The fragments do not cover the original changeset} set i 1 - foreach fia $args { - foreach fib [lrange $args $i end] { + foreach fia $fragments { + foreach fib [lrange $fragments $i end] { integrity assert { [struct::set empty [struct::set intersect $fia $fib]] } {The fragments <$fia> and <$fib> overlap} } incr i @@ -891,15 +891,18 @@ # COMMIT_THRESHOLD, a time interval commits should fall. This # will greatly reduces the risk of getting far separated # revisions of the same file into one changeset. # We allow revisions to be far apart in time in the same - # changeset, but need the pseudo-dependencies for this. + # changeset, but in turn need the pseudo-dependencies to + # handle this. array set fids {} foreach {rid fid} [state run " - SELECT R.rid, R.fid FROM revision R WHERE R.rid IN $theset + SELECT R.rid, R.fid + FROM revision R + WHERE R.rid IN $theset "] { lappend fids($fid) $rid } foreach {fid rids} [array get fids] { if {[llength $rids] < 2} continue foreach a $rids { @@ -1042,11 +1045,11 @@ # on tags in the same manner, so tags cannot be predecessors # of revisions. This complements that they have no successors # (See sym::tag/successors). foreach {rid parent} [state run " - SELECT R.rid B.bid + SELECT R.rid, B.bid FROM revision R, branch B WHERE R.rid IN $theset AND B.first = R.rid "] { lappend dependencies([list rev $rid]) [list sym::branch $parent] @@ -1082,13 +1085,13 @@ # are attached to. set theset ('[join $tags {','}]') return [state run " SELECT MIN(R.date), MAX(R.date) - FROM revision R, tag T - WHERE T.tid IN $theset - AND R.rid = T.rev + FROM tag T, revision R + WHERE T.tid IN $theset + AND R.rid = T.rev "] } # var(dv) = dict (item -> list (item)), item = list (type id) typemethod successors {dv tags} { @@ -1103,30 +1106,30 @@ # their prefered parents. set theset ('[join $tags {','}]') foreach {tid parent} [state run " SELECT T.tid, R.rid - FROM revision R, tag T + FROM tag T, revision R WHERE T.tid IN $theset AND T.rev = R.rid "] { lappend dependencies([list sym::tag $tid]) [list rev $parent] } foreach {tid parent} [state run " SELECT T.tid, B.bid - FROM tag T, branch B, preferedparent P + FROM tag T, preferedparent P, branch B WHERE T.tid IN $theset AND T.sid = P.sid AND P.pid = B.sid "] { lappend dependencies([list sym::tag $tid]) [list sym::branch $parent] } foreach {tid parent} [state run " SELECT T.tid, TX.tid - FROM tag T, tag TX, preferedparent P + FROM tag T, preferedparent P, tag TX WHERE T.tid IN $theset AND T.sid = P.sid AND P.pid = TX.sid "] { lappend dependencies([list sym::tag $tid]) [list sym::tag $parent] @@ -1166,11 +1169,11 @@ # as they logically are. set theset ('[join $branches {','}]') return [state run " SELECT IFNULL(MIN(R.date),0), IFNULL(MAX(R.date),0) - FROM revision R, branch B + FROM branch B, revision R WHERE B.bid IN $theset AND R.rid = B.root "] } @@ -1181,28 +1184,28 @@ # successors of a branch. set theset ('[join $branches {','}]') foreach {bid child} [state run " SELECT B.bid, R.rid - FROM revision R, branch B + FROM branch B, revision R WHERE B.bid IN $theset AND B.first = R.rid "] { lappend dependencies([list sym::tag $bid]) [list rev $child] } foreach {bid child} [state run " SELECT B.bid, BX.bid - FROM branch B, branch BX, preferedparent P + FROM branch B, preferedparent P, branch BX WHERE B.bid IN $theset AND B.sid = P.pid AND BX.sid = P.sid "] { lappend dependencies([list sym::tag $bid]) [list sym::branch $child] } foreach {bid child} [state run " SELECT B.bid, T.tid - FROM branch B, tag T, preferedparent P + FROM branch B, preferedparent P, tag T WHERE B.bid IN $theset AND B.sid = P.pid AND T.sid = P.sid "] { lappend dependencies([list sym::tag $bid]) [list sym::tag $child] @@ -1217,29 +1220,29 @@ # tags which are their prefered parents. set theset ('[join $tags {','}]') foreach {bid parent} [state run " SELECT B.Bid, R.rid - FROM revision R, branch B + FROM branch B, revision R WHERE B.bid IN $theset AND B.root = R.rid "] { lappend dependencies([list sym::branch $bid]) [list rev $parent] } foreach {bid parent} [state run " SELECT B.bid, BX.bid - FROM branch B, branch BX, preferedparent P + FROM branch B, preferedparent P, branch BX WHERE B.bid IN $theset AND B.sid = P.sid AND P.pid = BX.sid "] { lappend dependencies([list sym::branch $bid]) [list sym::branch $parent] } foreach {bid parent} [state run " SELECT B.bid, T.tid - FROM branch B, tag T, preferedparent P - WHERE B.tid IN $theset + FROM branch B, preferedparent P, tag T + WHERE B.bid IN $theset AND B.sid = P.sid AND P.pid = T.sid "] { lappend dependencies([list sym::branch $bid]) [list sym::tag $parent] }