Hex Artifact Content
Not logged in

Artifact 326b42f7682bacef0697cb3acaaec28e6fba0985:

File tools/cvs2fossil/lib/pkgIndex.tcl part of check-in [38b967dcf5] - Merge aku's CVS import changes into the main line. Fix a small bug in diff.c. by drh on 2007-11-17 00:29:42. Also file tools/cvs2fossil/lib/pkgIndex.tcl part of check-in [e7c805f137] - Added skeleton of pass 8, the final pass for the breaking of dependency cycles. This pass will handle the remaining cycles crossing revision and symbol changesets. by aku on 2007-11-16 06:53:01.

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 20                  
0140: 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63   1.0 [list sourc
0150: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69  e [file join $di
0160: 72 20 63 76 73 32 66 6f 73 73 69 6c 2e 74 63 6c  r cvs2fossil.tcl
0170: 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65  ]].package ifnee
0180: 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a  ded vc::fossil::
0190: 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 66 69 6c  import::cvs::fil
01a0: 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31  e              1
01b0: 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20  .0 [list source 
01c0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20  [file join $dir 
01d0: 63 32 66 5f 66 69 6c 65 2e 74 63 6c 5d 5d 0a 70  c2f_file.tcl]].p
01e0: 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20  ackage ifneeded 
01f0: 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f  vc::fossil::impo
0200: 72 74 3a 3a 63 76 73 3a 3a 66 69 6c 65 3a 3a 6c  rt::cvs::file::l
0210: 6f 64 6d 67 72 20 20 20 20 20 20 31 2e 30 20 5b  odmgr      1.0 [
0220: 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c  list source [fil
0230: 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f  e join $dir c2f_
0240: 66 6c 6f 64 6d 67 72 2e 74 63 6c 5d 5d 0a 70 61  flodmgr.tcl]].pa
0250: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
0260: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72  c::fossil::impor
0270: 74 3a 3a 63 76 73 3a 3a 66 69 6c 65 3a 3a 72 65  t::cvs::file::re
0280: 76 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c  v         1.0 [l
0290: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
02a0: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 66   join $dir c2f_f
02b0: 72 65 76 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67  rev.tcl]].packag
02c0: 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66  e ifneeded vc::f
02d0: 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63  ossil::import::c
02e0: 76 73 3a 3a 66 69 6c 65 3a 3a 73 79 6d 20 20 20  vs::file::sym   
02f0: 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20        1.0 [list 
0300: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69  source [file joi
0310: 6e 20 24 64 69 72 20 63 32 66 5f 66 73 79 6d 2e  n $dir c2f_fsym.
0320: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66  tcl]].package if
0330: 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69  needed vc::fossi
0340: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a  l::import::cvs::
0350: 66 69 6c 65 3a 3a 74 72 75 6e 6b 20 20 20 20 20  file::trunk     
0360: 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72    1.0 [list sour
0370: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64  ce [file join $d
0380: 69 72 20 63 32 66 5f 66 74 72 75 6e 6b 2e 74 63  ir c2f_ftrunk.tc
0390: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65  l]].package ifne
03a0: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a  eded vc::fossil:
03b0: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 6f 70  :import::cvs::op
03c0: 74 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20  tion            
03d0: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65  1.0 [list source
03e0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72   [file join $dir
03f0: 20 63 32 66 5f 6f 70 74 69 6f 6e 2e 74 63 6c 5d   c2f_option.tcl]
0400: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64  ].package ifneed
0410: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69  ed vc::fossil::i
0420: 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 69 6e 74 65  mport::cvs::inte
0430: 67 72 69 74 79 20 20 20 20 20 20 20 20 20 31 2e  grity         1.
0440: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b  0 [list source [
0450: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63  file join $dir c
0460: 32 66 5f 69 6e 74 65 67 72 69 74 79 2e 74 63 6c  2f_integrity.tcl
0470: 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65  ]].package ifnee
0480: 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a  ded vc::fossil::
0490: 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 61 73  import::cvs::pas
04a0: 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31  s              1
04b0: 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20  .0 [list source 
04c0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20  [file join $dir 
04d0: 63 32 66 5f 70 61 73 73 2e 74 63 6c 5d 5d 0a 70  c2f_pass.tcl]].p
04e0: 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20  ackage ifneeded 
04f0: 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f  vc::fossil::impo
0500: 72 74 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a 63  rt::cvs::pass::c
0510: 6f 6c 6c 61 72 20 20 20 20 20 20 31 2e 30 20 5b  ollar      1.0 [
0520: 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c  list source [fil
0530: 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f  e join $dir c2f_
0540: 70 63 6f 6c 6c 61 72 2e 74 63 6c 5d 5d 0a 70 61  pcollar.tcl]].pa
0550: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
0560: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72  c::fossil::impor
0570: 74 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a 63 6f  t::cvs::pass::co
0580: 6c 6c 72 65 76 20 20 20 20 20 31 2e 30 20 5b 6c  llrev     1.0 [l
0590: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
05a0: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70   join $dir c2f_p
05b0: 63 6f 6c 6c 72 65 76 2e 74 63 6c 5d 5d 0a 70 61  collrev.tcl]].pa
05c0: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
05d0: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72  c::fossil::impor
05e0: 74 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a 63 6f  t::cvs::pass::co
05f0: 6c 6c 73 79 6d 20 20 20 20 20 31 2e 30 20 5b 6c  llsym     1.0 [l
0600: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
0610: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70   join $dir c2f_p
0620: 63 6f 6c 6c 73 79 6d 2e 74 63 6c 5d 5d 0a 70 61  collsym.tcl]].pa
0630: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
0640: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72  c::fossil::impor
0650: 74 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a 66 69  t::cvs::pass::fi
0660: 6c 74 65 72 73 79 6d 20 20 20 31 2e 30 20 5b 6c  ltersym   1.0 [l
0670: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
0680: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70   join $dir c2f_p
0690: 66 69 6c 74 65 72 73 79 6d 2e 74 63 6c 5d 5d 0a  filtersym.tcl]].
06a0: 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64  package ifneeded
06b0: 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70   vc::fossil::imp
06c0: 6f 72 74 3a 3a 63 76 73 3a 3a 70 61 73 73 3a 3a  ort::cvs::pass::
06d0: 69 6e 69 74 63 73 65 74 73 20 20 20 31 2e 30 20  initcsets   1.0 
06e0: 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69  [list source [fi
06f0: 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66  le join $dir c2f
0700: 5f 70 69 6e 69 74 63 73 65 74 73 2e 74 63 6c 5d  _pinitcsets.tcl]
0710: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64  ].package ifneed
0720: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69  ed vc::fossil::i
0730: 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 61 73 73  mport::cvs::pass
0740: 3a 3a 62 72 65 61 6b 72 63 79 63 6c 65 20 31 2e  ::breakrcycle 1.
0750: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b  0 [list source [
0760: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63  file join $dir c
0770: 32 66 5f 70 62 72 65 61 6b 72 63 79 63 6c 65 2e  2f_pbreakrcycle.
0780: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66  tcl]].package if
0790: 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69  needed vc::fossi
07a0: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a  l::import::cvs::
07b0: 70 61 73 73 3a 3a 62 72 65 61 6b 73 63 79 63 6c  pass::breakscycl
07c0: 65 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72  e 1.0 [list sour
07d0: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64  ce [file join $d
07e0: 69 72 20 63 32 66 5f 70 62 72 65 61 6b 73 63 79  ir c2f_pbreakscy
07f0: 63 6c 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67  cle.tcl]].packag
0800: 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66  e ifneeded vc::f
0810: 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63  ossil::import::c
0820: 76 73 3a 3a 70 61 73 73 3a 3a 62 72 65 61 6b 61  vs::pass::breaka
0830: 63 79 63 6c 65 20 31 2e 30 20 5b 6c 69 73 74 20  cycle 1.0 [list 
0840: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69  source [file joi
0850: 6e 20 24 64 69 72 20 63 32 66 5f 70 62 72 65 61  n $dir c2f_pbrea
0860: 6b 61 63 79 63 6c 65 2e 74 63 6c 5d 5d 0a 70 61  kacycle.tcl]].pa
0870: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
0880: 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72  c::fossil::impor
0890: 74 3a 3a 63 76 73 3a 3a 63 79 63 6c 65 62 72 65  t::cvs::cyclebre
08a0: 61 6b 65 72 20 20 20 20 20 20 31 2e 30 20 5b 6c  aker      1.0 [l
08b0: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
08c0: 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 63   join $dir c2f_c
08d0: 79 63 6c 65 62 72 65 61 6b 65 72 2e 74 63 6c 5d  yclebreaker.tcl]
08e0: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64  ].package ifneed
08f0: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69  ed vc::fossil::i
0900: 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 6f 6a  mport::cvs::proj
0910: 65 63 74 20 20 20 20 20 20 20 20 20 20 20 31 2e  ect           1.
0920: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b  0 [list source [
0930: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63  file join $dir c
0940: 32 66 5f 70 72 6f 6a 65 63 74 2e 74 63 6c 5d 5d  2f_project.tcl]]
0950: 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65  .package ifneede
0960: 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d  d vc::fossil::im
0970: 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 6f 6a 65  port::cvs::proje
0980: 63 74 3a 3a 6c 6f 64 6d 67 72 20 20 20 31 2e 30  ct::lodmgr   1.0
0990: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66   [list source [f
09a0: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32  ile join $dir c2
09b0: 66 5f 70 6c 6f 64 6d 67 72 2e 74 63 6c 5d 5d 0a  f_plodmgr.tcl]].
09c0: 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64  package ifneeded
09d0: 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70   vc::fossil::imp
09e0: 6f 72 74 3a 3a 63 76 73 3a 3a 70 72 6f 6a 65 63  ort::cvs::projec
09f0: 74 3a 3a 72 65 76 20 20 20 20 20 20 31 2e 30 20  t::rev      1.0 
0a00: 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69  [list source [fi
0a10: 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63 32 66  le join $dir c2f
0a20: 5f 70 72 65 76 2e 74 63 6c 5d 5d 0a 70 61 63 6b  _prev.tcl]].pack
0a30: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a  age ifneeded vc:
0a40: 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a  :fossil::import:
0a50: 3a 63 76 73 3a 3a 70 72 6f 6a 65 63 74 3a 3a 72  :cvs::project::r
0a60: 65 76 6c 69 6e 6b 20 20 31 2e 30 20 5b 6c 69 73  evlink  1.0 [lis
0a70: 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a  t source [file j
0a80: 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70 72 65  oin $dir c2f_pre
0a90: 76 6c 69 6e 6b 2e 74 63 6c 5d 5d 0a 70 61 63 6b  vlink.tcl]].pack
0aa0: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a  age ifneeded vc:
0ab0: 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a  :fossil::import:
0ac0: 3a 63 76 73 3a 3a 70 72 6f 6a 65 63 74 3a 3a 73  :cvs::project::s
0ad0: 79 6d 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73  ym      1.0 [lis
0ae0: 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a  t source [file j
0af0: 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70 73 79  oin $dir c2f_psy
0b00: 6d 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20  m.tcl]].package 
0b10: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73  ifneeded vc::fos
0b20: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73  sil::import::cvs
0b30: 3a 3a 70 72 6f 6a 65 63 74 3a 3a 74 72 75 6e 6b  ::project::trunk
0b40: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f      1.0 [list so
0b50: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
0b60: 24 64 69 72 20 63 32 66 5f 70 74 72 75 6e 6b 2e  $dir c2f_ptrunk.
0b70: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66  tcl]].package if
0b80: 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69  needed vc::fossi
0b90: 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a  l::import::cvs::
0ba0: 72 65 70 6f 73 69 74 6f 72 79 20 20 20 20 20 20  repository      
0bb0: 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72    1.0 [list sour
0bc0: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64  ce [file join $d
0bd0: 69 72 20 63 32 66 5f 72 65 70 6f 73 69 74 6f 72  ir c2f_repositor
0be0: 79 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20  y.tcl]].package 
0bf0: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73  ifneeded vc::fos
0c00: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73  sil::import::cvs
0c10: 3a 3a 73 74 61 74 65 20 20 20 20 20 20 20 20 20  ::state         
0c20: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f      1.0 [list so
0c30: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
0c40: 24 64 69 72 20 63 32 66 5f 73 74 61 74 65 2e 74  $dir c2f_state.t
0c50: 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e  cl]].package ifn
0c60: 65 65 64 65 64 20 76 63 3a 3a 72 63 73 3a 3a 70  eeded vc::rcs::p
0c70: 61 72 73 65 72 20 20 20 20 20 20 20 20 20 20 20  arser           
0c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c90: 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63   1.0 [list sourc
0ca0: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69  e [file join $di
0cb0: 72 20 72 63 73 70 61 72 73 65 72 2e 74 63 6c 5d  r rcsparser.tcl]
0cc0: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64  ].package ifneed
0cd0: 65 64 20 76 63 3a 3a 74 6f 6f 6c 73 3a 3a 6c 6f  ed vc::tools::lo
0ce0: 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  g               
0cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e                1.
0d00: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b  0 [list source [
0d10: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 6c  file join $dir l
0d20: 6f 67 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65  og.tcl]].package
0d30: 20 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 74 6f   ifneeded vc::to
0d40: 6f 6c 73 3a 3a 6d 69 73 63 20 20 20 20 20 20 20  ols::misc       
0d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d60: 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73       1.0 [list s
0d70: 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e  ource [file join
0d80: 20 24 64 69 72 20 6d 69 73 63 2e 74 63 6c 5d 5d   $dir misc.tcl]]
0d90: 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65  .package ifneede
0da0: 64 20 76 63 3a 3a 74 6f 6f 6c 73 3a 3a 74 72 6f  d vc::tools::tro
0db0: 75 62 6c 65 20 20 20 20 20 20 20 20 20 20 20 20  uble            
0dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30               1.0
0dd0: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66   [list source [f
0de0: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 74 72  ile join $dir tr
0df0: 6f 75 62 6c 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b  ouble.tcl]].pack
0e00: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a  age ifneeded vc:
0e10: 3a 74 6f 6f 6c 73 3a 3a 69 64 20 20 20 20 20 20  :tools::id      
0e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0e30: 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73          1.0 [lis
0e40: 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a  t source [file j
0e50: 6f 69 6e 20 24 64 69 72 20 69 64 2e 74 63 6c 5d  oin $dir id.tcl]
0e60: 5d 0a                                            ].