Check-in [de64c94f54]
Not logged in
Overview

SHA1 Hash:de64c94f548995fe1a9cec764a97cc5c4abcc39a
Date: 2007-11-16 03:59:21
User: aku
Comment:Bugfix. When setting up or extended the changeset graph a changeset's successor may lay outside of the set of changesets under consideration, i.e. without a node in the graph. Ignore these. This did not (or only rarely) happen before the bugfix to the successor computation of changesets in project::rev (list instead of single).
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl from [b471ab73ff] to [bcbf738b02].

@@ -99,10 +99,13 @@
 
 	state transaction {
 	    foreach cset [project::rev all] {
 		if {[$cset bysymbol]} continue
 		foreach succ [$cset successors] {
+		    # Changesets may have dependencies outside of the
+		    # chosen set. These are ignored
+		    if {![dg node exists $succ]} continue
 		    dg arc insert $cset $succ
 		}
 	    }
 	}
 
@@ -284,17 +287,20 @@
         # the fragments generated for it.
 
         $dg node delete $bestnode
 
 	foreach cset $newcsets {
-	    dg node insert $cset
-	    dg node set    $cset timerange [$cset timerange]
+	    $dg node insert $cset
+	    $dg node set    $cset timerange [$cset timerange]
 	}
 
 	foreach cset $newcsets {
 	    foreach succ [$cset successors] {
-		dg arc insert $cset $succ
+		# Changesets may have dependencies outside of the
+		# chosen set. These are ignored
+		if {![dg node exists $succ]} continue
+		$dg arc insert $cset $succ
 	    }
 	}
 	return
     }