Hex Artifact Content
Not logged in

Artifact e9e0ed3bcf153a39fcedddf69e5064dd2e1bedd8:

File tools/cvs2fossil/lib/pkgIndex.tcl part of check-in [770a9b576a] - Completed pass 7, breaking dependency cycles over symbol changesets. Moved the bulk of the cycle breaker code into its own class as it was common to the passes 6 and 7, and updated the two passes accordingly. Added code to load the changeset counter from the state to start properly. by aku on 2007-11-16 04:17:30.

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 63 79 63 6c 65 62 72 65 61 6b 65 72  vs::cyclebreaker
0830: 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20        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 63 79 63 6c 65  n $dir c2f_cycle
0860: 62 72 65 61 6b 65 72 2e 74 63 6c 5d 5d 0a 70 61  breaker.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 70 72 6f 6a 65 63 74 20  t::cvs::project 
08a0: 20 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c            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 70   join $dir c2f_p
08d0: 72 6f 6a 65 63 74 2e 74 63 6c 5d 5d 0a 70 61 63  roject.tcl]].pac
08e0: 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63  kage ifneeded vc
08f0: 3a 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74  ::fossil::import
0900: 3a 3a 63 76 73 3a 3a 70 72 6f 6a 65 63 74 3a 3a  ::cvs::project::
0910: 6c 6f 64 6d 67 72 20 20 20 31 2e 30 20 5b 6c 69  lodmgr   1.0 [li
0920: 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20  st source [file 
0930: 6a 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70 6c  join $dir c2f_pl
0940: 6f 64 6d 67 72 2e 74 63 6c 5d 5d 0a 70 61 63 6b  odmgr.tcl]].pack
0950: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a  age ifneeded vc:
0960: 3a 66 6f 73 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a  :fossil::import:
0970: 3a 63 76 73 3a 3a 70 72 6f 6a 65 63 74 3a 3a 72  :cvs::project::r
0980: 65 76 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73  ev      1.0 [lis
0990: 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a  t source [file j
09a0: 6f 69 6e 20 24 64 69 72 20 63 32 66 5f 70 72 65  oin $dir c2f_pre
09b0: 76 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20  v.tcl]].package 
09c0: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73  ifneeded vc::fos
09d0: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73  sil::import::cvs
09e0: 3a 3a 70 72 6f 6a 65 63 74 3a 3a 72 65 76 6c 69  ::project::revli
09f0: 6e 6b 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f  nk  1.0 [list so
0a00: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
0a10: 24 64 69 72 20 63 32 66 5f 70 72 65 76 6c 69 6e  $dir c2f_prevlin
0a20: 6b 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20  k.tcl]].package 
0a30: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 66 6f 73  ifneeded vc::fos
0a40: 73 69 6c 3a 3a 69 6d 70 6f 72 74 3a 3a 63 76 73  sil::import::cvs
0a50: 3a 3a 70 72 6f 6a 65 63 74 3a 3a 73 79 6d 20 20  ::project::sym  
0a60: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f      1.0 [list so
0a70: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
0a80: 24 64 69 72 20 63 32 66 5f 70 73 79 6d 2e 74 63  $dir c2f_psym.tc
0a90: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65  l]].package ifne
0aa0: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a  eded vc::fossil:
0ab0: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 70 72  :import::cvs::pr
0ac0: 6f 6a 65 63 74 3a 3a 74 72 75 6e 6b 20 20 20 20  oject::trunk    
0ad0: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65  1.0 [list source
0ae0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72   [file join $dir
0af0: 20 63 32 66 5f 70 74 72 75 6e 6b 2e 74 63 6c 5d   c2f_ptrunk.tcl]
0b00: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64  ].package ifneed
0b10: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 69  ed vc::fossil::i
0b20: 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 72 65 70 6f  mport::cvs::repo
0b30: 73 69 74 6f 72 79 20 20 20 20 20 20 20 20 31 2e  sitory        1.
0b40: 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b  0 [list source [
0b50: 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 63  file join $dir c
0b60: 32 66 5f 72 65 70 6f 73 69 74 6f 72 79 2e 74 63  2f_repository.tc
0b70: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65  l]].package ifne
0b80: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a  eded vc::fossil:
0b90: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 3a 3a 73 74  :import::cvs::st
0ba0: 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20  ate             
0bb0: 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65  1.0 [list source
0bc0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72   [file join $dir
0bd0: 20 63 32 66 5f 73 74 61 74 65 2e 74 63 6c 5d 5d   c2f_state.tcl]]
0be0: 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65  .package ifneede
0bf0: 64 20 76 63 3a 3a 72 63 73 3a 3a 70 61 72 73 65  d vc::rcs::parse
0c00: 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  r               
0c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30               1.0
0c20: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66   [list source [f
0c30: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 72 63  ile join $dir rc
0c40: 73 70 61 72 73 65 72 2e 74 63 6c 5d 5d 0a 70 61  sparser.tcl]].pa
0c50: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76  ckage ifneeded v
0c60: 63 3a 3a 74 6f 6f 6c 73 3a 3a 6c 6f 67 20 20 20  c::tools::log   
0c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c80: 20 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c            1.0 [l
0c90: 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65  ist source [file
0ca0: 20 6a 6f 69 6e 20 24 64 69 72 20 6c 6f 67 2e 74   join $dir log.t
0cb0: 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e  cl]].package ifn
0cc0: 65 65 64 65 64 20 76 63 3a 3a 74 6f 6f 6c 73 3a  eeded vc::tools:
0cd0: 3a 6d 69 73 63 20 20 20 20 20 20 20 20 20 20 20  :misc           
0ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0cf0: 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63   1.0 [list sourc
0d00: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69  e [file join $di
0d10: 72 20 6d 69 73 63 2e 74 63 6c 5d 5d 0a 70 61 63  r misc.tcl]].pac
0d20: 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63  kage ifneeded vc
0d30: 3a 3a 74 6f 6f 6c 73 3a 3a 74 72 6f 75 62 6c 65  ::tools::trouble
0d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d50: 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b 6c 69           1.0 [li
0d60: 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20  st source [file 
0d70: 6a 6f 69 6e 20 24 64 69 72 20 74 72 6f 75 62 6c  join $dir troubl
0d80: 65 2e 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20  e.tcl]].package 
0d90: 69 66 6e 65 65 64 65 64 20 76 63 3a 3a 74 6f 6f  ifneeded vc::too
0da0: 6c 73 3a 3a 69 64 20 20 20 20 20 20 20 20 20 20  ls::id          
0db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0dc0: 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 6f      1.0 [list so
0dd0: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
0de0: 24 64 69 72 20 69 64 2e 74 63 6c 5d 5d 0a        $dir id.tcl]].