1

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

例如,我们有 1000 个修订版的存储库,而从 100 到 200 的修订版已损坏。我并不真正关心这些修订,因此如果需要可以将其删除。

4

1 回答 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
于 2013-03-18T10:26:07.640 回答