Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_pfiltersym.tcl part of check-in [131f051880] - Moved the paranoid integrity checks of pass 2 into a separate package for use by other passes, and changed pass 4 to also run these checks, albeit in a (slightly) relaxed form. See the comments at the point of call for the reason. This completes pass 4. by aku on 2007-11-09 06:28:19. [view]

To:

File tools/cvs2fossil/lib/c2f_pfiltersym.tcl part of check-in [2516f4a56d] - Bugfix. When I introduced the 'revisionbranchchildren' table to pass 2 I forgot to update pass 4 as well. Added code to drop the excluded revisons from this table as well, as either parent of branches, or branch child of some other revision. by aku on 2007-11-16 03:54:54. [view]

@@ -48,8 +48,9 @@
 	state reading blocker
 	state reading parent
 	state reading preferedparent
 	state reading revision
+	state reading revisionbranchchildren
 	state reading branch
 	state reading tag
 
 	state writing noop {
@@ -195,14 +196,21 @@
 	# to select them again and again from the base tables any
 	# longer.
 
 	state run {
+	    CREATE TEMPORARY TABLE excludedrevisions AS
+	    SELECT rid FROM revision WHERE lod IN excludedsymbols;
+
 	    DELETE FROM revision WHERE lod IN excludedsymbols;
 	    DELETE FROM tag      WHERE lod IN excludedsymbols;
 	    DELETE FROM tag      WHERE sid IN excludedsymbols;
 	    DELETE FROM branch   WHERE lod IN excludedsymbols;
 	    DELETE FROM branch   WHERE sid IN excludedsymbols;
 
+	    DELETE FROM revisionbranchchildren WHERE rid  IN excludedrevisions;
+	    DELETE FROM revisionbranchchildren WHERE brid IN excludedrevisions;
+
+	    DROP TABLE excludedrevisions;
 	    DROP TABLE excludedsymbols;
 	}
 	return
     }