Subversionで管理外のファイルを追加する

Subversion使ってて、「svn add」せずに追加したファイルとかをバージョン管理下に置きたいときに「svn status」してから「?」の付いたファイル/フォルダを1つずつ・・・というのがめんどくさかったのでシェルスクリプトを作っておく。

svnadd.sh

#!/bin/sh

PATH=/usr/local/bin:/usr/local/sbin::/usr/bin:/usr/sbin:/bin:/sbin
SVNADD_TEMP=`mktemp /tmp/svnadd.XXXXXX`

svn status | grep '^\?' > $SVNADD_TEMP

vi $SVNADD_TEMP

cat $SVNADD_TEMP | grep '^A' | sed 's/^\A\s*//' | xargs -r svn add

rm -f $SVNADD_TEMP

「svnadd.sh」を実行するとviが開くので、管理下に置きたいファイル/フォルダのステータス「?」を「A」に変更してviを終了すれば、それらをsvn addしてくれる。やってみたら割と便利だったので常用。