现在我正在使用 Windows XP。如果我只是在可视 SVN 中复制整个存储库文件夹,一旦服务器关闭,我如何通过备份的存储库文件夹恢复它?在视觉 svn 中备份和恢复的另一个更好的解决方案?
顺便问一下,在可视化源代码管理中有什么备份和恢复的方法吗?
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2
当然,压缩步骤是可选的。
与另一个答案中推荐的“复制树”方法相比,此方法的主要优点是,Subversion“转储”格式是比 Subversion 在其存储库中使用的大多数数据库格式更好的存档格式。(这是速度与简单性的权衡。)您可以在文本编辑器中读取转储文件,轻松解析它,并且——最重要的是——使用不同的数据库后端将其导入不同的 Subversion 存储库。
使用以下命令恢复上述文件:
bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
这就是我使用的:
#!/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
此方法将恢复存储库中的所有修订/标签/分支。
您应该使用svnadmin hotcopy创建存储库的备份。
您可以将整个目录复制进出。文件就是文件,它们没有什么神奇之处。
如果你想做一些更复杂的事情,比如在恢复之前以某种方式编辑存储库内容,那么你需要转储和加载。