2011-04-13 88 views
0

我们已经安装了Windows 2003服务器,安装了Subversion(特别是SlikSVN)。 svnserve.exe进程设置为作为Windows服务运行。如何从备份中恢复SVN存储库?

服务器有2个硬盘驱动器,一个用于OS(C:驱动器),另一个用于数据(D:驱动器)。我们的SVN存储库位于D:\ SVN,但D:驱动器最近崩溃了,不再启动。 SVN Windows服务也拒绝启动(可能是因为它无法找到存储库)。

幸运的是,虽然我们备份了存储库(每天晚上通过XCOPY备份到外部驱动器),但我们现在需要将最新备份恢复到C:\ SVN上的C:驱动器。

我该如何去做这件事?有人可以给我一个详细的解释。我需要做的是将最新的存储库备份恢复到同一台服务器上的其他位置(本例中为C:\ SVN)。

什么是我需要运行的命令行命令。我需要取消映射D:\ SVN位置吗?

回答

1

备份Subversion存储库的正确方法是svnadmin hotcopy命令。在这种情况下:

得到的备份是一个完全 功能的版本库,能够 被作为替代掉线 你的活动资料库应该什么 严重错误。

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.backup

你说你只需将文件复制其他地方。我建议你试试把它们复制回来。之后我建议你运行svnadmin verify

我不熟悉svnserve.exe,但鉴于这是一个Windows服务,您可以随时在改变其指向regedit参数:

HKLM\SYSTEM\CurrentControlSet\Services\snvserve\Parameters 
+0

我备份使用的文件系统复制,当资源库中的使用是不。它应该和其他备份一样好。我不能将它复制回D:\ SVN,因为该位置不再存在。如何将存储库位置更改为C:\ SVN? – 2011-04-14 07:01:59

+0

@Saajid Ismail - 进入“开始 - >运行”(或点击“Win + R”)并输入'regedit'。浏览左树,直到找到'HKLM \ SYSTEM \ CurrentControlSet \ Services \ snvserve \ Parameters'。在右侧面板中,双击'ConfigArgs'。找到'D:\ SVN',将其替换为'C:\ SVN'并点击'OK'。谨慎行事,因为regedit是一个强大的工具,如果你编辑你不应该的东西,它可能会毁掉你的系统。 – 2011-04-14 07:53:55