Check-in [fbfb531868]
Not logged in
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
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]
 	}