2009年2月17日火曜日

subversion バックアップ構成

 まだまだネットワーク管理者モードは続くのであった…。
Subversionでリポジトリをこしらえたら、バックアップも気になるところです。今回は、バックアップ構成について書くことに…。

 まず、
Z:\> copy con pre-revprop-change.bat
exit 0

として、Ctrl+Z キーを押します。次に、make_new.bat を作成します。
@echo off
@echo "make_new repository_name"
@echo "例: make_new delphi-lib"
if "%1"=="" goto end;
if exist %1 goto already_msg;

svnadmin create %1
copy pre-revprop-change.bat %1\hooks
svnsync init file:///%1 http://your.server/repos/%1

@echo svnsync sync file:///%1 >> do_backup_sync.bat
goto end;

:already_msg

@echo %1 は既に存在します

:end

この場合、リポジトリは、http://yousr.server/repos/ 下にプロジェクト名という形で運用されていると仮定しています。これを、ローカルのプロジェクト名というフォルダにバックアップします。
バックアップは、定期的に do_backup_sync.bat を実行すれば良いです。差分のみ転送してくれます。


 バックアップからの復旧には、
Z:\> svnadmin dump プロジェクト名 > プロジェクト名.dump

として、ファイル化し、
$ svnadmin load プロジェクト名 < プロジェクト名.dump

とすれば良いでしょう。


たまに、ロックされて困った場合には
Z:\ svn propdel svn:sync-lock --revprop -r 0 file:///%1

でオッケー。

0 件のコメント: