如何备份和恢复svn中的所有源代码?
题
现在我正在使用Windows XP。 如果我只是复制可视SVN中的整个存储库文件夹, 一旦服务器关闭,我如何通过备份存储库文件夹恢复它? 在visual svn中备份和恢复的另一个更好的解决方案是什么?
顺便提一下,在视觉源控件中备份和恢复的方法是什么?
解决方案
您只需复制整个目录即可。文件是文件,没有什么神奇之处。
如果你想做一些更复杂的事情,比如在恢复之前以某种方式编辑存储库内容,那么你需要转储和加载。
其他提示
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2
当然,压缩步骤是可选的。
这主要优点是“复制树”。另一个答案推荐的方法是Subversion“dump”。 format是一种比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 创建存储库的备份。
不隶属于 StackOverflow