我正在尝试在Mercurial(2.1.1)中设置subrepo重映射,以考虑将来可能发生变化的subrepo路径。在[subpaths]
文件中指定时,我已经能够正确读取和处理.hgrc
密钥。但是,当我从该存储库克隆或拉出时,.hgrc
文件不会被复制,因此子表面重映射不会被带到目标存储库。
在查看SubrepoRemappingPlan后我的第一个想法是将[subpaths]
放入.hg/subpaths
文件中, 应该在克隆/拉片上复制。但是,事实证明此功能已被废弃,并且子路径文件已通过Projrc扩展名替换为更通用的配置共享机制。
Projrc解决方案的问题是:
这是一个单独的扩展,所有团队成员都需要安装并启用
出于安全原因,需要进行额外配置以告知Projrc允许其从哪里拉出(以及允许拉出的位置)
所以,我的问题是,Mercurial中是否有任何内置机制用于实现跨克隆/拉动保留的子地址映射?
答案 0 :(得分:1)
通常,最好的方法是使用subrepos的相对路径(请参阅http://mercurial.aragost.com/kick-start/en/subrepositories/),以便它们永远不必重新映射。
示例:
+ main repo
+ subrepo
+ .hgsub
.hgsub:
subrepo = subrepo
答案 1 :(得分:1)
将子路径映射添加到.hgsub
文件应该可以解决问题(如mercurial wiki中所述)。