svnsyncでリモートリポジトリをコピーする

リポジトリを同期する

同期用のリポジトリを作成

svnadmin create sync

同期用のリポジトリを初期化

svnsync init file:///dest/sync https://dest.example.com/svn/

もし

svnsync: E165006: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

とか言われたら /dest/sync/hooks/pre-revprop-change
ファイルを空でもいいので作成する windows
の場合は/dest/sync/hooks/pre-revprop-change.bat

同期を実行

svnsync sync file:///dest/sync

全リビジョンをコピーするので時間がかかります。

元ネタ:
http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_svnsync.html

万が一同期中にセッションが切れて

svnsync: E000022: Couldn't get lock on destination repos after 10 attempts

とか出るようになったら。

svn propdel --revprop -r0 svn:sync-lock file:///dest/sync

を実行すると再度syncできるようになる。

元ネタ:
http://stackoverflow.com/questions/4077601/svnsync-couldnt-get-lock-on-destination-repos