我们公司有两个大部门,一个是合并在一起的。两个部门都有自己的 svn 服务器,使用 subversion 文件夹结构,并且是使用应用程序创建的。
现在他们想出了一个结构。现在,一旦使用新项目 ID 创建新的 SVN 存储库后,他们希望将旧存储库数据作为目录放在新创建的存储库中。
两个(新旧)服务器都运行标准版的 Visual SVN Server。
使用应用程序本身创建新的结构;稍后我们应该将这些旧数据文件夹添加到存储库。
我能否知道如何将旧的 repo 结构文件夹迁移到新的 svn 存储库?
我知道我表达的方式有点令人困惑;但请尝试理解并帮助我迁移。
答案1
据我了解,您的要求是,您必须将所有存储库移至单个 VisualSVN 服务器实例。您还提到“他们希望将旧的 repo 数据作为目录放在新创建的存储库中”但我认为这部分是由于某种误解而产生的。
请记住Subversion 服务器 ≠ Subversion 存储库!您可以简单地将所有存储库移动到单个服务器。
假设有部门 A 和部门 B,它们合并为部门 C。部门 A 和部门 B 有自己的 Subversion 服务器,每台服务器上都有一些存储库。因此,您可以为部门 C 安装 VisualSVN Server,并将所有存储库移动到这台新服务器。
按着这些次序:
确保 DeptA 和 DeptB VisualSVN 服务器的主版本相同。即,它们都必须是 2.5、2.7、3.0。如果其中一个的主版本低于另一个,则应将其升级到更高的版本。
确保 DeptA 和 DeptB 服务器使用相同的身份验证类型。即它们都必须使用 Subversion 身份验证或 Windows 身份验证。
确保
%VISUALSVN_SERVER%conf\httpd-custom.conf
DeptA 和 DeptB 服务器上的文件为空。确保 DeptA 和 DeptB 服务器上没有同名的存储库。
在 DeptC 服务器上,安装相同VisualSVN Server 版本与您在 DeptA 和 DeptB 上的版本相同(如果您愿意,可以稍后升级)。您可以在版本历史页面下载旧版 VisualSVN Server:http://www.visualsvn.com/server/changes/。
在 DeptA 和 DeptB 上停止 VisualSVN Server 服务后,将所有存储库移至 DeptC(或用作存储的网络共享)。将版本化数据传输到新服务器的最简单方法是将存储库原样复制到 DeptC 文件系统。例如,如果存储库存储在现有计算机上的 C:\Repositories 中,您可以将 C:\Repositories 目录原样传输到新计算机。说明可在知识库文章中找到如何将现有的存储库导入新安装的 VisualSVN 服务器?。
验证存储库上配置的访问规则。请参阅了解 VisualSVN Server 授权。
跑步
svnadmin verify
针对所有源存储库执行命令,检查是否存在损坏之前和之后轉移。确保在移动存储库后,存储库上配置的所有挂钩脚本都能正常工作。