SVN:修复或删除损坏的修订版

时间:2013-03-18 10:26:08

标签: svn

如何在SVN中修复或删除损坏的修订版?

例如,我们拥有1000个版本的存储库,并且修订了100到200个版本。我并不真正关心那些修改,所以如果需要可以删除它们。

1 个答案:

答案 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