hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2010-10-14

WindowsマシンにsvnsyncでSubversionレポジトリをミラーリングする手順

Windows用のsvnsyncを用意

Windows用SubversionはCollabNet Subversionダウンロードからダウンロードできます。svnsyncはCollabNet Subversion Command-Line Clientには含まれないので、CollabNet Subversion Edge(サーバー)をダウンロード、インストールする必要があります。

ミラー先レポジトリの作成とセットアップ

C:\svn_repo>svnadmin create PROJ
C:\svn_repo>echo exit 0 > PROJ\hooks\pre-revprop-change.bat
C:\svn_repo>svnsync init file:///svn_repo/PROJ https://remote-subversion-server.example.com/svn/PROJ

なお、file:///にfile://C:/のようにドライブを含めるとエラーになりました。試した感じではfile:///でカレントドライブのディレクトリを見ているようです。

ミラーリング実行

C:\svn_repo>svnsync sync file:///svn_repo/PROJ

ロックが残ってしまった場合の削除方法

ミラーリング実行中にCtrl+Cで止めた場合は、ロックが残ってしまい再度ミラーリングしようとすると以下のようなエラーが出ます。

C:\svn_repo>svnsync sync file:///svn_repo/PROJ
Failed to get lock on destination repos, currently held by ...

以下のコマンドでロックを開放します。

svn pdel --revprop -r 0 svn:sync-lock file:///lac_svn_repo/TECS


参考:Malachi's Server: Failed to get lock on destination repos, currently held by....

ブログ アーカイブ