Check-in [960645443b]
Not logged in
Overview

SHA1 Hash:960645443b74f566f96d8e8e307aab467362c459
Date: 2007-11-29 09:13:07
User: aku
Comment:Extended checks for looped changesets.
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 [60fbae5ce7] to [df041b5731].

@@ -208,19 +208,19 @@
 		# breaking the relevant changesets apart. So having
 		# one indicates big trouble in pass 5. We report them
 		# and dump internal structures to make it easier to
 		# trace the links causing the problem.
 		if {$succ eq $cset} {
-		    trouble fatal "Self-referencing changeset [$cset str]"
 		    log write 2 cyclebreaker "LOOP changeset [$cset str] __________________"
 		    array set nmap [$cset nextmap]
 		    foreach r [lsort -dict [array names nmap]] {
 			foreach succrev $nmap($r) {
 			    log write 2 cyclebreaker \
-				"LOOP * rev <$r> --> rev <$succrev> --> cs [project::rev str [project::rev ofitem $succrev]]"
+				"LOOP * <$r> --> <$succrev> --> cs [[project::rev ofitem $succrev] str]"
 			}
 		    }
+		    trouble fatal "Self-referencing changeset [$cset str]"
 		}
 	    }
 	}
 
 	if {$log} {
@@ -441,10 +441,18 @@
 		# The new changesets may have dependencies outside of
 		# the chosen set. These are ignored
 		if {![$dg node exists $succ]} continue
 		$dg arc insert $cset $succ
 		if {$succ eq $cset} {
+		    log write 2 cyclebreaker "LOOP changeset [$cset str] __________________"
+		    array set nmap [$cset nextmap]
+		    foreach r [lsort -dict [array names nmap]] {
+			foreach succrev $nmap($r) {
+			    log write 2 cyclebreaker \
+				"LOOP * <$r> --> <$succrev> --> cs [[project::rev ofitem $succrev] str]"
+			}
+		    }
 		    trouble internal "Self-referencing changeset [$cset str]"
 		}
 	    }
 	}
 	foreach cset $pre {