Ruby1.8.7 SVNからチェックアウトしていらないファイルを削除する

感想おまちしてます!

SVNとかCVSからチェックアウトしたファイルのうち、javaとjspファイル以外はいらないので、削除するためのスクリプトをRubyで書いてみた。
クラスとか使ってないです。
今回成長したのは、「logger.debug(“checkout #{dirname}”)」のように変数を文字列内に埋め込めることがわかったことかなー(ちっちゃ!)。
ちょっとずつ成長です。

# SVNからチェックアウト。
# INCLUDEで指定した拡張子以外を削除する。
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::DEBUG
$KCODE='UTF-8'
SEP="\\"
SVN_PATH="http://localhost/svn"
SVN_USER="fujihara"
SVN_PASSWORD="fujihara"
CO_PATH="D:\\Study\\Ruby\\svn"
FIND_PATH="D:/Study/Ruby/svn"
PATH_FILE="./path.csv"
INCLUDE="java,jsp"
logger.debug("start")
# チェックアウト
fr = open(PATH_FILE, "r")
while line = fr.gets
line = line.chomp
if line == ""
next
end
dirname = line.sub("/", "")
dirname = dirname.gsub("/", "_")
logger.debug("checkout #{dirname}")
dist = CO_PATH + SEP + dirname
cmd = "mkdir #{dist}"
logger.debug("cmd #{cmd}")
system(cmd)
cmd = "svn co #{SVN_PATH}#{line} #{dist} --username #{SVN_USER} --password #{SVN_PASSWORD}"
logger.debug("cmd #{cmd}")
system(cmd)
end
fr.close
# 対象となるファイルを調べる
includes = INCLUDE.split(/,/)
includearray=[]
for extension in includes
includearray.push(Dir.glob("#{FIND_PATH}/**/*#{extension}"))
end
# 全ファイルの配列から、対象ファイルのパスを削除
pathes = Dir.glob("#{FIND_PATH}/**/*")
for includepaths in includearray
for includepath in includepaths
pathes.delete(includepath)
end
end
# 対象以外を削除
for delpath in pathes
if FileTest::directory?(delpath)
else
File.delete(delpath)
end
end
logger.debug("end")