svn add と svn del で複数ファイルを一括処理する
SubVersionで、ファイルを一括で追加、削除する方法
TortoiseSVN等guiツールを使っていれば簡単なんですが
command shellからも、以下のコマンドで簡単にできます。
svn add $ svn st|grep '^?'|awk '{print $2}'|xargs svn add
svn del $ svn st|grep '^!'|awk '{print $2}'|xargs svn del
ただし、対象ファイル名に 半角スペースが混ざってるとうまく動きません。
.bash_profile 等で、alias にしとくとよいかもしれません。
余談ですが
svn status や svn info するとき、--xml を引数としてつけると 結果をxmlとして受けとることができます。
svn info の結果を別ツールに渡すときなど、xml出力をしてやれば、svn本体のバージョン等による出力差異*1をあまり気にせず処理することができます。
02:02:18 mikeneko mikenekoSystem $ svn info --xml <?xml version="1.0"?> <info> <entry kind="dir" path="." revision="1"> <url>file:///home/mikeneko/svn/svnroot/mikenekoSystem</url> <repository> <root>file:///home/mikeneko/svn/svnroot</root> <uuid>25ebeeb8-90a9-40ff-a5ae-1ee10670f6ee</uuid> </repository> <wc-info> <schedule>normal</schedule> <depth>infinity</depth> </wc-info> <commit revision="1"> <author>mikeneko</author> <date>2010-05-20T15:14:57.526842Z</date> </commit> </entry> </info> 02:03:28 mikeneko mikenekoSystem $ svn info パス: . URL: file:///home/mikeneko/svn/svnroot/mikenekoSystem リポジトリのルート: file:///home/mikeneko/svn/svnroot リポジトリ UUID: 25ebeeb8-90a9-40ff-a5ae-1ee10670f6ee リビジョン: 1 ノード種別: ディレクトリ 準備中の処理: 特になし 最終変更者: mikeneko 最終変更リビジョン: 1 最終変更日時: 2010-05-21 00:14:57 +0900 (金, 21 5月 2010)
*1:localeによって出力が日本語だったり英語だったり