Hex Artifact Content
Not logged in

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]].