如何备份和恢复svn中的所有源代码?

Mem*_*eak 4 svn backup visualsvn restore

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

顺便说一下,在视觉源控制中备份和恢复的任何方法?

War*_*ung 25

svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2
Run Code Online (Sandbox Code Playgroud)

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

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

恢复上述文件:

bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
Run Code Online (Sandbox Code Playgroud)


小智 6

这就是我使用的:

#!/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
Run Code Online (Sandbox Code Playgroud)

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

svnadmin create /var/www/svn/test
Run Code Online (Sandbox Code Playgroud)

还有他们:

svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp
Run Code Online (Sandbox Code Playgroud)

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


Jay*_*Jay -3

您只需复制整个目录即可。文件就是文件,它们没有什么神奇之处。

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

  • 如果您在存储库“热”时使用复制文件方法,您最终可能会得到损坏的数据。提交前的一些数据和提交后的一些数据。 (6认同)
  • 我不会推荐这个。SVN 存储库应仅使用 svnadmin 命令进行处理。 (2认同)