home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 August / PCWorld_2000-08_cd.bin / Software / TemaCD / wincvs / data1.cab / Example_Files / Macros / ChangeRoot.tcl next >
Text File  |  1999-03-23  |  1KB  |  51 lines

  1. #!CVSGUI1.0 --folder --name "Change Root"
  2.  
  3. global numChanged
  4. set numChanged 0
  5. global changeTo
  6. set changeTo ":pserver:alexgui@stratadev.strata3d.com:/cvspub/cvsgui"
  7.  
  8. proc changeRoot {dirName} {
  9.     set oldDir [pwd]
  10.     cd $dirName
  11.  
  12.     set fileid [open Root w]
  13.     global changeTo
  14.     puts $fileid $changeTo
  15.     close $fileid
  16.     
  17.     global numChanged
  18.     incr numChanged
  19.     
  20.     cd $oldDir
  21. }
  22.  
  23. proc iterate {dirName} {
  24.     set oldDir [pwd]
  25.     cd $dirName
  26.     cvsout "Entering $dirName\n"
  27.  
  28.     set dirList [glob -nocomplain *]
  29.     set dirSize [llength $dirList]
  30.     for {set j 0} {$j < $dirSize} {incr j} {
  31.         set fileName [lindex $dirList $j]
  32.         if {[file isdirectory $fileName]} {
  33.             if {[string compare cvs [string tolower $fileName]] == 0} {
  34.                 changeRoot $fileName
  35.             } else {
  36.                 iterate $fileName
  37.             }
  38.         }
  39.     }
  40.     cd $oldDir
  41. }
  42.  
  43. set selList [cvssel]
  44. set selSize [llength $selList]
  45.  
  46. for {set i 0} {$i < $selSize} {incr i} {
  47.     iterate [lindex $selList $i]
  48. }
  49. cvsout "Done !\n"
  50. cvsout "$numChanged file(s) changed !\n"
  51.