概要 svnでは,リポジトリに対するファイルの追加・削除は,ユーザが明示的に指定する.これを自動的におこないたい.すなわち,あるディレクトリ以下のファイルについて,追加されたファイルは勝手にリポジトリに追加し,消されたファイルは勝手にリポジトリから削除したいことがある. これをおこなうrubyスクリプトを書いた.使い方は次の通り. $ スクリプト名 ディレクトリ 引数で指定したディレクトリ以下のファイルを,自動的に同期する. スクリプトを以下に示す. #!/usr/bin/ruby # class Svn def initialize() @del = [] @add = [] end def update() system('svn update') # puts 'svn update' end def status() =begin M:modify !:deleted (not registered) ?:added (not registered) =end `svn status`.split(/\n/).each{|l| /^(.)\s+(.*)$/ =~ l case $1 when '!' #deleted @del.push($2) when '?' #added @add.push($2) end } end def add_del() @add.each {|file| system("svn add #{file}") # puts "svn add #{file}" } @del.each {|file| system("svn rm #{file}") # puts "svn rm #{file}" } end def commit() msg = "commit by #{$0} at #{E