首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mercurial:转移到新的存储库结构-子存储库更新

Mercurial:转移到新的存储库结构-子存储库更新
EN

Stack Overflow用户
提问于 2021-01-16 09:58:21
回答 1查看 49关注 0票数 1

所以,问题是:

假设我们有一个非常古老的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。这将使它们以前的所有修订都处于“挂起”状态--没有办法直接克隆它们,在更新它们时肯定会出现一些问题,等等。

是否有一种通用的方法来处理这些情况,以修正以前的所有修订?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-16 22:12:27

.hgrc文件有一个子路径选项,可以为您工作:

子路径 如果远程服务器更改名称或临时不可用,则Subrepository源URL可能会失效。本节允许您定义表单的重写规则: = where模式是匹配子存储库源URL的正则表达式,替换是用来重写它的替换字符串。组可以在模式中匹配并在替换中引用。例如: )-hg/ = http://hg.server/\1/http://server/foo-hg/重写为http://hg.server/foo/。 相对子存储库路径首先是绝对的,然后重写规则应用到完整(绝对)路径上。如果模式与完整路径不匹配,则尝试仅在相对路径上应用该模式。这些规则按定义顺序应用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65748363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档