我的一个项目是在一个 subversion 存储库(我们称之为 svn://oldserver/)中,它将被合并到一个新的存储库中(比如说 svn://newserver/)。
本项目大量使用 svn:externals 链接一些库的源代码。所有外部都包含一个修订号,因此我目前可以查看旧版本的代码,包括库。
“oldserver”将被转储并导入“newserver”。然后外部将更改为指向新服务器,但这仅适用于 HEAD 修订版。旧版本的两个问题:
- 导入将移动所有修订,但不会移动 svn:externals 中的相应数字。
- 导入还将保留原始存储库名称(svn://oldserver/),而不是使用新的。
我想知道是否有类似 subversion 的网关服务器之类的东西,我可以在 svn://oldserver/ 名称下运行它,它会简单地从 svn://newserver 获取数据,但在重新编号修订号之后。有谁知道这样的事情?
备选方案 1:在将“oldserver”导入“ newserver ”之前,使用 svndumptool 等工具重新编号外部。但是如果我犯了错误,我以后就无法纠正了。这就是我拒绝这个解决方案的原因。
备选方案2:让旧服务器运行,只需配置为只读即可。它只是在服务器硬盘上占据更多位置,但如果我找不到更好的解决方案,我可能会使用此解决方案。