Check-in [f284847134]
Not logged in
Overview

SHA1 Hash:f2848471340dde88a890bbcbee857a8b73a11a37
Date: 2007-11-22 07:22:38
User: aku
Comment:Reworked the dot export internals a bit to be more general regarding labeling and attribute writing. Updated the cycle breaker to define proper labels.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified tools/cvs2fossil/lib/c2f_cyclebreaker.tcl from [0fd2ab8302] to [00c265ebb6].

@@ -148,10 +148,11 @@
 	set dg [struct::graph dg]
 
 	foreach cset $changesets {
 	    $dg node insert $cset
 	    $dg node set    $cset timerange [$cset timerange]
+	    $dg node set    $cset label     [ID $cset]
 	}
 
 	# 2. Find for all relevant changeset their revisions and their
 	#    dependencies. Map the latter back to changesets and
 	#    construct the corresponding arcs.

Modified tools/cvs2fossil/lib/dot.tcl from [191e7fb347] to [405d093d08].

@@ -29,21 +29,31 @@
 
     typemethod format {g name} {
 	lappend lines "digraph \"$name\" \{"
 
 	foreach n [$g nodes] {
-	    set    cmd "[$n id] \["
-	    append cmd " label=\"<[$n id]>\""
-
-	    if {[$g node keyexists $n shape]} {
-		append cmd  " shape=[$g node get $n shape]"
+	    set cmd "\"$n\""
+	    set sep " "
+	    set head " \["
+	    set tail ""
+	    foreach {gattr nodekey} {
+		label label
+		shape shape
+	    } {
+		if {![$g node keyexists $n $nodekey]} continue
+		append cmd "$head$sep${gattr}=\"[$g node get $n $nodekey]\""
+
+		set sep ", "
+		set head ""
+		set tail " \]"
 	    }
-	    append cmd " \];"
+
+	    append cmd ${tail} ";"
 	    lappend lines $cmd
 	}
 	foreach a [$g arcs] {
-	    lappend lines "[[$g arc source $a] id] -> [[$g arc target $a] id];"
+	    lappend lines "\"[$g arc source $a]\" -> \"[$g arc target $a]\";"
 	}
 
 	lappend lines "\}"
 	return [join $lines \n]
     }