6

现在我正在使用 Windows XP。如果我只是在可视 SVN 中复制整个存储库文件夹,一旦服务器关闭,我如何通过备份的存储库文件夹恢复它?在视觉 svn 中备份和恢复的另一个更好的解决方案?

顺便问一下,在可视化源代码管理中有什么备份和恢复的方法吗?

4

4 回答 4

26
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2

当然,压缩步骤是可选的。

与另一个答案中推荐的“复制树”方法相比,此方法的主要优点是,Subversion“转储”格式是比 Subversion 在其存储库中使用的大多数数据库格式更好的存档格式。(这是速度与简单性的权衡。)您可以在文本编辑器中读取转储文件,轻松解析它,并且——最重要的是——使用不同的数据库后端将其导入不同的 Subversion 存储库。

使用以下命令恢复上述文件:

bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
于 2009-09-10T02:40:30.140 回答
5

这就是我使用的:

#!/bin/bash

mkdir /tmp/backup_svn

for dir in /var/www/svn/*/
    do
        dir=${dir%*/}
        svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
    echo "--- Dump ${dir##*/} done!"
done

要恢复转储,您需要先创建 de repo 文件夹:

svnadmin create /var/www/svn/test

还有他们:

svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp

此方法将恢复存储库中的所有修订/标签/分支。

于 2015-06-04T13:25:30.500 回答
2

您应该使用svnadmin hotcopy创建存储库的备份。

于 2009-09-10T02:44:50.613 回答
-2

您可以将整个目录复制进出。文件就是文件,它们没有什么神奇之处。

如果你想做一些更复杂的事情,比如在恢复之前以某种方式编辑存储库内容,那么你需要转储和加载。

于 2009-09-10T15:14:29.290 回答