Artifact 9cd7a5dc5fa372639557311c8b44ebb6bc7c41af:
File
tools/cvs2fossil/lib/pkgIndex.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.
0000: 23 20 23 20 23 23 20 23 23 23 20 23 23 23 23 23 # # ## ### #####
0010: 20 23 23 23 23 23 23 23 23 20 23 23 23 23 23 23 ######## ######
0020: 23 23 23 23 23 23 23 20 23 23 23 23 23 23 23 23 ####### ########
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 #############.##
0040: 20 50 61 63 6b 61 67 65 20 6d 61 6e 61 67 65 6d Package managem
0050: 65 6e 74 2e 0a 23 23 20 49 6e 64 65 78 20 6f 66 ent..## Index of
0060: 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 63 6b 61 the local packa
0070: 67 65 73 20 72 65 71 75 69 72 65 64 20 62 79 20 ges required by
0080: 63 76 73 32 66 6f 73 73 69 6c 0a 23 20 23 20 23 cvs2fossil.# # #
0090: 23 20 23 23 23 20 23 23 23 23 23 20 23 23 23 23 # ### ##### ####
00a0: 23 23 23 23 20 23 23 23 23 23 23 23 23 23 23 23 #### ###########
00b0: 23 23 20 23 23 23 23 23 23 23 23 23 23 23 23 23 ## #############
00c0: 23 23 23 23 23 23 23 23 0a 69 66 20 7b 21 5b 70 ########.if {![p
00d0: 61 63 6b 61 67 65 20 76 73 61 74 69 73 66 69 65 ackage vsatisfie
00e0: 73 20 5b 70 61 63 6b 61 67 65 20 72 65 71 75 69 s [package requi
00f0: 72 65 20 54 63 6c 5d 20 38 2e 34 5d 7d 20 72 65 re Tcl] 8.4]} re
0100: 74 75 72 6e 0a 70 61 63 6b 61 67 65 20 69 66 6e turn.package ifn
0110: 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c eeded vc::fossil
0120: 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 20 20 20 ::import::cvs
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 1
0140: 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 .0 [list source
0150: 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 [file join $dir
0160: 63 76 73 32 66 6f 73 73 69 6c 2e 74 63 6c 5d 5d cvs2fossil.tcl]]
0170: 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 .package ifneede
0180: 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d d vc::fossil::im
0190: 70 6f 72 74 3a 3a 63 76 73 3a 3a 66 69 6c 65 20 port::cvs::file
01a0: 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 1.0 [
01b0: 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c list source [fil
01c0: 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f e join $dir c2f_
01d0: 66 69 6c 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 file.tcl]].packa
01e0: 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a ge ifneeded vc::
01f0: 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a fossil::import::
0200: 63 76 73 3a 3a 66 69 6c 65 3a 3a 6c 6f 64 6d 67 cvs::file::lodmg
0210: 72 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 r 1.0 [list s
0220: 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e ource [file join
0230: 20 24 64 69 72 20 63 32 66 5f 66 6c 6f 64 6d 67 $dir c2f_flodmg
0240: 72 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 r.tcl]].package
0250: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 ifneeded vc::fos
0260: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 sil::import::cvs
0270: 3a 3a 66 69 6c 65 3a 3a 72 65 76 20 20 20 20 20 ::file::rev
0280: 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 1.0 [list sour
0290: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 ce [file join $d
02a0: 69 72 20 63 32 66 5f 66 72 65 76 2e 74 63 6c 5d ir c2f_frev.tcl]
02b0: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 ].package ifneed
02c0: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 ed vc::fossil::i
02d0: 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 66 69 6c 65 mport::cvs::file
02e0: 3a 3a 73 79 6d 20 20 20 20 20 20 20 31 2e 30 20 ::sym 1.0
02f0: 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 [list source [fi
0300: 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 le join $dir c2f
0310: 5f 66 73 79 6d 2e 74 63 6c 5d 5d 0a 70 61 63 6b _fsym.tcl]].pack
0320: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a age ifneeded vc:
0330: 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a :fossil::import:
0340: 3a 63 76 73 3a 3a 66 69 6c 65 3a 3a 74 72 75 6e :cvs::file::trun
0350: 6b 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 k 1.0 [list
0360: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 source [file joi
0370: 6e 20 24 64 69 72 20 63 32 66 5f 66 74 72 75 6e n $dir c2f_ftrun
0380: 6b 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 k.tcl]].package
0390: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 ifneeded vc::fos
03a0: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 sil::import::cvs
03b0: 3a 3a 6f 70 74 69 6f 6e 20 20 20 20 20 20 20 20 ::option
03c0: 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 1.0 [list sour
03d0: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 ce [file join $d
03e0: 69 72 20 63 32 66 5f 6f 70 74 69 6f 6e 2e 74 63 ir c2f_option.tc
03f0: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 l]].package ifne
0400: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a eded vc::fossil:
0410: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 69 6e :import::cvs::in
0420: 74 65 67 72 69 74 79 20 20 20 20 20 20 20 31 2e tegrity 1.
0430: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 0 [list source [
0440: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 file join $dir c
0450: 32 66 5f 69 6e 74 65 67 72 69 74 79 2e 74 63 6c 2f_integrity.tcl
0460: 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 ]].package ifnee
0470: 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a ded vc::fossil::
0480: 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 61 73 import::cvs::pas
0490: 73 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 s 1.0
04a0: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 [list source [f
04b0: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 ile join $dir c2
04c0: 66 5f 70 61 73 73 2e 74 63 6c 5d 5d 0a 70 61 63 f_pass.tcl]].pac
04d0: 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 kage ifneeded vc
04e0: 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 ::fossil::import
04f0: 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a 63 6f 6c ::cvs::pass::col
0500: 6c 61 72 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 lar 1.0 [list
0510: 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f source [file jo
0520: 69 6e 20 24 64 69 72 20 63 32 66 5f 70 63 6f 6c in $dir c2f_pcol
0530: 6c 61 72 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 lar.tcl]].packag
0540: 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 e ifneeded vc::f
0550: 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 ossil::import::c
0560: 76 73 3a 3a 70 61 73 73 3a 3a 63 6f 6c 6c 72 65 vs::pass::collre
0570: 76 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f v 1.0 [list so
0580: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 urce [file join
0590: 24 64 69 72 20 63 32 66 5f 70 63 6f 6c 6c 72 65 $dir c2f_pcollre
05a0: 76 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 v.tcl]].package
05b0: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 ifneeded vc::fos
05c0: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 sil::import::cvs
05d0: 3a 3a 70 61 73 73 3a 3a 63 6f 6c 6c 73 79 6d 20 ::pass::collsym
05e0: 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 1.0 [list sour
05f0: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 ce [file join $d
0600: 69 72 20 63 32 66 5f 70 63 6f 6c 6c 73 79 6d 2e ir c2f_pcollsym.
0610: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 tcl]].package if
0620: 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 needed vc::fossi
0630: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a l::import::cvs::
0640: 70 61 73 73 3a 3a 66 69 6c 74 65 72 73 79 6d 20 pass::filtersym
0650: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 1.0 [list source
0660: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 [file join $dir
0670: 20 63 32 66 5f 70 66 69 6c 74 65 72 73 79 6d 2e c2f_pfiltersym.
0680: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 tcl]].package if
0690: 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 needed vc::fossi
06a0: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a l::import::cvs::
06b0: 70 72 6f 6a 65 63 74 20 20 20 20 20 20 20 20 20 project
06c0: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 1.0 [list source
06d0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 [file join $dir
06e0: 20 63 32 66 5f 70 72 6f 6a 65 63 74 2e 74 63 6c c2f_project.tcl
06f0: 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 ]].package ifnee
0700: 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a ded vc::fossil::
0710: 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 6f import::cvs::pro
0720: 6a 65 63 74 3a 3a 6c 6f 64 6d 67 72 20 31 2e 30 ject::lodmgr 1.0
0730: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 [list source [f
0740: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 ile join $dir c2
0750: 66 5f 70 6c 6f 64 6d 67 72 2e 74 63 6c 5d 5d 0a f_plodmgr.tcl]].
0760: 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 package ifneeded
0770: 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 vc::fossil::imp
0780: 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 6f 6a 65 63 ort::cvs::projec
0790: 74 3a 3a 72 65 76 20 20 20 20 31 2e 30 20 5b 6c t::rev 1.0 [l
07a0: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 ist source [file
07b0: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70 join $dir c2f_p
07c0: 72 65 76 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 rev.tcl]].packag
07d0: 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 e ifneeded vc::f
07e0: 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 ossil::import::c
07f0: 76 73 3a 3a 70 72 6f 6a 65 63 74 3a 3a 73 79 6d vs::project::sym
0800: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 1.0 [list so
0810: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 urce [file join
0820: 24 64 69 72 20 63 32 66 5f 70 73 79 6d 2e 74 63 $dir c2f_psym.tc
0830: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 l]].package ifne
0840: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a eded vc::fossil:
0850: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 :import::cvs::pr
0860: 6f 6a 65 63 74 3a 3a 74 72 75 6e 6b 20 20 31 2e oject::trunk 1.
0870: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 0 [list source [
0880: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 file join $dir c
0890: 32 66 5f 70 74 72 75 6e 6b 2e 74 63 6c 5d 5d 0a 2f_ptrunk.tcl]].
08a0: 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 package ifneeded
08b0: 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 vc::fossil::imp
08c0: 6f 72 74 3a 3a 63 76 73 3a 3a 72 65 70 6f 73 69 ort::cvs::reposi
08d0: 74 6f 72 79 20 20 20 20 20 20 31 2e 30 20 5b 6c tory 1.0 [l
08e0: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 ist source [file
08f0: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 72 join $dir c2f_r
0900: 65 70 6f 73 69 74 6f 72 79 2e 74 63 6c 5d 5d 0a epository.tcl]].
0910: 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 package ifneeded
0920: 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 vc::fossil::imp
0930: 6f 72 74 3a 3a 63 76 73 3a 3a 73 74 61 74 65 20 ort::cvs::state
0940: 20 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c 1.0 [l
0950: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 ist source [file
0960: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 73 join $dir c2f_s
0970: 74 61 74 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 tate.tcl]].packa
0980: 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a ge ifneeded vc::
0990: 72 63 73 3a 3a 70 61 72 73 65 72 20 20 20 20 20 rcs::parser
09a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
09b0: 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 1.0 [list s
09c0: 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e ource [file join
09d0: 20 24 64 69 72 20 72 63 73 70 61 72 73 65 72 2e $dir rcsparser.
09e0: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 tcl]].package if
09f0: 6e 65 65 64 65 64 20 76 63 3a 3a 74 6f 6f 6c 73 needed vc::tools
0a00: 3a 3a 6c 6f 67 20 20 20 20 20 20 20 20 20 20 20 ::log
0a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0a20: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 1.0 [list source
0a30: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 [file join $dir
0a40: 20 6c 6f 67 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 log.tcl]].packa
0a50: 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a ge ifneeded vc::
0a60: 74 6f 6f 6c 73 3a 3a 6d 69 73 63 20 20 20 20 20 tools::misc
0a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0a80: 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 1.0 [list s
0a90: 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e ource [file join
0aa0: 20 24 64 69 72 20 6d 69 73 63 2e 74 63 6c 5d 5d $dir misc.tcl]]
0ab0: 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 .package ifneede
0ac0: 64 20 76 63 3a 3a 74 6f 6f 6c 73 3a 3a 74 72 6f d vc::tools::tro
0ad0: 75 62 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 uble
0ae0: 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 1.0 [
0af0: 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c list source [fil
0b00: 65 20 6a 6f 69 6e 20 24 64 69 72 20 74 72 6f 75 e join $dir trou
0b10: 62 6c 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 ble.tcl]].packag
0b20: 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 74 e ifneeded vc::t
0b30: 6f 6f 6c 73 3a 3a 69 64 20 20 20 20 20 20 20 20 ools::id
0b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0b50: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 1.0 [list so
0b60: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 urce [file join
0b70: 24 64 69 72 20 69 64 2e 74 63 6c 5d 5d 0a $dir id.tcl]].