SVNのすべてのソースコードをバックアップおよび復元する方法は?
質問
今、私はWindows XPを使用しています。 ビジュアルSVNでリポジトリフォルダー全体をコピーするだけの場合、 サーバーがダウンしたら、バックアップされたリポジトリフォルダーを介してサーバーを復元するにはどうすればよいですか? ビジュアルsvnでのバックアップと復元のための別のより良いソリューション?
ところで、視覚的なソース管理でバックアップと復元の方法はありますか?
解決
ディレクトリ全体をコピーインおよびコピーアウトできます。ファイルはファイルです。それらについて魔法はありません。
復元する前に何らかの方法でリポジトリの内容を編集するなど、より複雑な操作を行う場合は、ダンプとロードが必要です。
他のヒント
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2
圧縮ステップはもちろんオプションです。
「ツリーのコピー」よりも優れている主な利点別の回答で推奨されている方法は、Subversion" dump" formatは、Subversionがリポジトリ内で内部的に使用するほとんどのデータベース形式よりも優れたアーカイブ形式です。 (速度と単純さのトレードオフです。)テキストエディターでダンプファイルを読み取り、簡単に解析して、—最も重要な—別のデータベースバックエンドを使用して別のSubversionリポジトリにインポートします。
上記のファイルを復元するには:
bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
これは私が使用するものです:
#!/bin/bash
mkdir /tmp/backup_svn
for dir in /var/www/svn/*/
do
dir=${dir%*/}
svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
echo "--- Dump ${dir##*/} done!"
done
ダンプを復元するには、前にde repoフォルダーを作成する必要があります:
svnadmin create /var/www/svn/test
そしてそれら:
svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp
この方法は、リポジトリ内のすべてのリビジョン/タグ/ブランチを復元します。
svnadmin hotcopy を使用する必要がありますリポジトリのバックアップを作成します。