我们的VisualSVN服务器(SE)目前将其存储库存储在“C:\ Repositories”中,但鉴于我们的存储库增长,C:驱动器开始填满。我们希望将整个存储库根目录移动到服务器中的第二个驱动器(D :),它在可预见的未来有足够的空间。
我发现this question告诉我如何更改根目录,但由于该问题涉及全新安装,因此保留现有数据并不是一个问题。经过一些研究后,我发现有几种方法可以保留现有的存储库:
svnadmin dump
转储文件,然后在新位置加载转储文件svnadmin hotcopy
存储库到新位置我想知道哪种方法更可取。我更喜欢hotcopy方法,如果它足够强大,因为倾倒所有存储库需要相当长的时间。转储方法描述为here,但似乎包括对我的情况不必要的步骤,因为我将所有内容保存在同一台服务器上。
此外,我想问一下如何最好地进行此迁移,以将停机时间降至最低。我想阻止用户在复制文件时提交更改。我可以在更改根目录并复制文件时关闭SVN服务吗?
最后,我想借此机会将服务器从2.5.2升级到2.5.8。我应该在文件复制后这样做吗?我应该首先重新启动服务,然后再将其关闭,以便它处理并检查移动的存储库吗?
答案 0 :(得分:2)
我建议您为每个存储库或svnadmin hotcopy
使用xcopy /E /H C:\Repositories D:\Repositories
。不要忘记复制授权文件(authz,authz-windows和htpasswd)。您必须在迁移之前停止VisualSVN Server。
svnadmin dump
不是必需的,因为您提到了非常耗时的过程。
最好在存储库迁移和所需的重新配置后升级VisualSVN Server。在某些升级中,VisualSVN Server需要访问存储库文件夹以进行升级。
答案 1 :(得分:1)
这些是您可以使用的一些步骤。使用此python脚本将使您的任务更容易,并在将来对您的存储库进行每日备份时受益。
从命令窗口执行以下操作。
hot-backup.py C:\Repositories\<YourRepoName> D:\Repositories\<YourRepoName>
升级您的SVN版本
这应该可以解决问题。祝好运 !!!
答案 2 :(得分:1)
SVNParentPath
参数