SVN で壊れたリビジョンを修正または削除するには?
たとえば、1000 のリビジョンを持つリポジトリがあり、100 から 200 までのリビジョンが壊れているとします。そのリビジョンはあまり気にしないので、必要に応じて削除できます。
SVN で壊れたリビジョンを修正または削除するには?
たとえば、1000 のリビジョンを持つリポジトリがあり、100 から 200 までのリビジョンが壊れているとします。そのリビジョンはあまり気にしないので、必要に応じて削除できます。
バックアップがなく、壊れたリビジョンを気にしない場合の解決策は次のとおりです。
まず、すべてのリビジョンを 1 つずつバックアップしてから、新しい担当者を作成し、そのすべてのバックアップをインポートする必要があります。
ここに2つのスクリプト
まずはバックアップ用
#!/bin/bash
svn="/var/lib/svn/repository_name"
dir="/some/dir/for/backup"
svnadmin dump $svn -r1 > $dir/r1.dump
for rev in `seq 2 1000`; do # 1000 - it's number of last revision
echo $rev
svnadmin dump $svn -r$rev --incremental > $dir/r${rev}.dump
done
そしてインポート用スクリプト
#!/bin/bash
svn="/var/lib/svn/new_repository_name"
dir="/some/dir/for/backup"
svnadmin create $svn
svnadmin load $svn --ignore-uuid < $dir/r1.dump
for rev in `seq 2 1000`; do
echo $rev
svnadmin load $svn < $dir/r${rev}.dump
done