如何修复或删除 SVN 中损坏的修订?
例如,我们有 1000 个修订版的存储库,而从 100 到 200 的修订版已损坏。我并不真正关心这些修订,因此如果需要可以将其删除。
如果您没有备份并且您不关心损坏的修订版,这里的解决方案。
首先,您需要一一备份所有修订,然后创建新的代表并将所有备份导入其中
这里有两个脚本
先备份
#!/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