bashでSVN追加ファイルを別リポジトリにコピー

Trunkにファイル追加があれば、Branchにコピーするシェル。

workDirにチェックアウトしておく。

#!/bin/bash

for f in `svn up workDir | awk '$1=="A"{print $NF;}'`
do
    echo $f
    addFile=`echo $f | sed -e "s/不要なパスを置換//"`
    svn copy http://localhost/svn/trunk/$addFile http://localhost/svn/branch/$addFile -m "Copy $AddFile"
done

svn upの結果は、下記のステータスが1項目目に、対象ファイルが2項目目に出力される。

追加"A"、変更"U"、削除"D"

参考 http://blog3.logosware.com/archives/1603