如何在SVN中修复或删除损坏的修订版?
例如,我们拥有1000个版本的存储库,并且修订了100到200个版本。我并不真正关心那些修改,所以如果需要可以删除它们。
答案 0 :(得分: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