ここに私が見つけたいくつかの情報をまとめたものがあります ここ.
#!/bin/bash
searchterm="<ProjectName>"
replaceterm="New Project"
srcsvnrepo="file:///svnrepoaddress"
destsvnrepo="file:///data/newrepo"
dumpfile="/home/<user>/repo.dump"
tmpfolder="/home/<user>/tmp_repo"
svnadmin dump $srcsvnrepo > $dumpfile
svnadmin create --fs-type fsfs $destsvnrepo
svnadmin load $destsvnrepo < $dumpfile
svn co $destsvnrepo $tmpfolder
for file in $(grep -l -R $searchterm $tmpfolder)
do
sed -e "s/$searchterm/$replaceterm/ig" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
echo "Modified: " $file
done
svn ci $tmpfolder --message "Initial Check-In"
基本的に、これは指定されたソース svn リポジトリのバックアップをファイルにダンプし、新しいリポジトリを作成し、バックアップをそこにロードし、ファイルをチェックアウトし、検索する文字列を含むファイルのリストを取得し、それぞれに対して正規表現を実行します新しいバージョンを一時的な場所に保存し、一時ファイルを元の場所に戻し、最後に変更を新しいリポジトリにチェックバックします。
私はこれを完全にテストしていないので、微調整が必要かもしれませんが、基本的な手順は正しいはずです。重大な誤算があり、これがまったく機能しない場合はお知らせください。