【发布时间】:2021-04-21 04:57:39
【问题描述】:
那么,问题来了:
假设我们有一个非常旧的 Kallithea 安装,带有一大堆存储库,经过 5 年的密集开发,它变得臃肿,充满了遗留和实验性的东西,结构不一致等。我们决定将所有东西更新到现代版本,删除所有遗留和未使用的东西,并在服务器上构建一个新的存储库目录结构。
基本上,问题是:
DIRECTORY1 [ PROJ1 SUBPROJ1 ] //SUBPROJ1 is a subrepo for PROJ1, .hgsub approves.DIRECTORY2 [ PROJ2 ] // SUBPROJ1 is a subrepo for PROJ2 as well!
正在重做
COMMON [ SUBPROJ1 ]DIRECTORY1 [ PROJ1 ]DIRECTORY2 [ PROJ2 ]
因此,要对支持新目录结构的项目 PROJ1 和 PROJ2 进行更新,我们需要为这些项目 [及其所有分支] 更新 .hgsub。这将使它们的所有先前版本都处于“挂起”状态 - 无法直接克隆它们,更新它们肯定会有一些问题,等等。
是否有一种通用的方法来处理这种情况并修复所有以前的修订?
【问题讨论】:
-
我没有广泛使用 subrepos,但请查看 subpaths 以了解重新映射它们的方法。
-
@MarkTolonen 这个解决方案对我来说似乎很棒 :) 如果你在这里写一个答案,我肯定会接受 :)
标签: version-control mercurial mercurial-subrepos