Differences From:
File
tools/cvs2fossil/lib/c2f_integrity.tcl
part of check-in
[80b1e8936f]
- Renamed state table 'csrevision' to 'csitem' to reflect the new internals of changesets. Updated all places where it is used.
by
aku on
2007-11-29 09:16:33.
[view]
To:
File
tools/cvs2fossil/lib/c2f_integrity.tcl
part of check-in
[b42cff97e3]
- Replaced the checks for self-referential changesets in the cycle breaker with a scheme in the changeset class doing checks when splitting a changeset, which is also called by the general changeset integrity code, after each pass. Extended log output at high verbosity levels. Thorough checking of the fragments a changeset is to be split into.
by
aku on
2007-11-30 03:57:19.
[view]
@@ -52,15 +52,16 @@
AllButMeta
return
}
- typemethod changesets {} {
+ typemethod changesets {csets} {
log write 4 integrity {Check database consistency}
set n 0
RevisionChangesets
TagChangesets
BranchChangesets
+ Selfreferentiality $csets
return
}
# # ## ### ##### ######## #############
@@ -733,8 +734,19 @@
WHERE VV.cid = UU.cid
AND UU.fcount < VV.rcount)
AND T.tid = C.type
}
+ return
+ }
+
+ proc Selfreferentiality {csets} {
+ log write 4 integrity {Checking changesets for self-references}
+
+ foreach cset $csets {
+ if {[$cset selfreferential]} {
+ trouble fatal "[$cset str] depends on itself"
+ }
+ }
return
}
proc ___UnusedChangesetChecks___ {} {