basyura's blog

あしたになったらほんきだす。

svn で bin obj を無視する

普段は git-svn を使っているから .gitignore で気にならないのだけど、visual studio がつくり上げる bin obj が邪魔で邪魔で・・・。なんとなく怖いので別ブランチにマージするときは svn (gui の tortoise svn) を使っていて、別ブランチを落とすときも git-svn だと 1 日かかってしまうので svn を使うし、別環境で触るときも入っている svn を使う。

気が向いた時に tortoise svn でポチポチやってたのだけどさすがに時間の無駄なので、svn propset svn:inogre で複数定義できないことに衝撃を受けつつスクリプトを書く (新しい svn だとルートの .svnignore 一発でできた気がする)。

#!/usr/bin/env ruby

ignore_file = File.join(File.dirname(__FILE__), 'ignore_bin_obj_svn_ignore')

puts "ignore file : #{ignore_file}"

`svn status`.each_line do |line|
  next unless line =~ /bin$/
  dir = File.dirname(line.split(" ")[1])
  puts dir
  `svn propset svn:ignore -F #{ignore_file} #{dir}`
end

ignore_bin_obj_svn_ignore ファイルには

bin
obj

と書かれている。