設定ファイルなどのsvn管理について

Devconには用事があって行けなくて大変残念だったのですが、自分の場合は、ホームディレクトリは

 ~/bin/* : コマンドラインからよく使う自分専用のツール(もちろんPATHに入れておく)
 ~/etc/* : 設定ファイル

みたいな構成にしておいて、両方ともsvnで管理してます。

新しいマシンに設定ファイルをコピーするとき一つ一つシンボリックリンクを張るのはめんどくさいなということでRakefileを書いてみました。

`ls etc/`とかしたときに-aを付けないとファイルが見れないのはややめんどくさいのでリンク元ファイルがetc/vimrcなら~/.vimrcでリンクを張るようにしてます。

task :default => [:symlink]

task :symlink do |t|
  FileList['*rc'].each do |filename|
    absolute_filename = File.join(FileUtils.pwd, filename)
    symlink_path = File.join(ENV["HOME"], ".#{filename}")

    ln_sf absolute_filename, symlink_path
  end 
end

メッセージなしでコミットするタスクとかもあっても良いかも。

実行するディレクトリにいないと実行しても上手く動かないのが微妙かもしれない。