![将带有 svn 存储库的硬盘移动到另一台计算机](https://linux22.com/image/560041/%E5%B0%86%E5%B8%A6%E6%9C%89%20svn%20%E5%AD%98%E5%82%A8%E5%BA%93%E7%9A%84%E7%A1%AC%E7%9B%98%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA.png)
保存我们的主要 svn 存储库的系统已失效。这意味着我必须将包含存储库的硬盘移至另一台计算机。
那么,问题是,一旦旧驱动器放入新计算机中,我们是否必须重新配置任何内容才能访问它?
答案1
为了简化生活,我会在新服务器上安装与旧机器上使用的相同版本的 Subversion 服务器,即使它不是最新版本,并在数据到位后再升级。
如果存储库是fsfs
存储库类型,那么您只需挂载存储库它就可以工作,因为 fsfs 可跨操作系统和 CPU 架构移植。
如果您使用的是bdb
,则需要确保目标计算机具有相同的操作系统和体系结构,因为 bdb 无法跨环境移植。即使您只是临时使用具有相同操作系统/体系结构的计算机来安装存储库,您也可以执行svnadmin dump
以文本格式转储存储库的内容,然后您可以在终极目标计算机上加载它而不必担心操作系统和体系结构。(转储格式可跨操作系统、体系结构和 svn 版本移植。)
看存储库部署策略,讨论了各种 Subversion 存储库类型 (bdb/fsfs) 的可移植性。
一旦 svnserve 启动并运行,托管您的存储库,现有客户端将需要使用 重新定位他们的工作副本svn switch -relocate <old-url> <new-url>
。
答案2
据我所知,您不应该遇到任何问题,因为存储库将具有相同的 GUID。只需在新 URL 上进行 checkout/checkin,一切就都好了。
答案3
我没有遇到过在另一台服务器上重新部署存储库的问题。而且,只要您使用相同的操作系统、体系结构和 Subversion 版本,就不会有任何问题。事实上,如果您使用不同的操作系统、体系结构等,情况可能也是如此,但不是Subversion 项目的开发人员不保证其版本、操作系统或硬件架构之间的兼容性。
移动存储库时执行 总是最安全的。然后在新系统上svnadmin dump
执行。这保证可以正常工作或svnadmin load
双倍的退款!
就您而言,由于旧服务器不可用,我会将存储库安装在配置得尽可能靠近前一个服务器的机器上。执行svnadmin dump
,将其移动到新服务器,然后执行svnadmin load
。