2

我正在尝试在 Mercurial (2.1.1) 中设置 subrepo 重新映射,以考虑将来可能更改的 subrepo 路径。当在文件中指定密钥时,我已经能够[subpaths]正确读取和处理密钥。.hgrc但是,当我从该存储库克隆或拉取时,.hgrc不会复制该文件,因此不会将子存储库重新映射带到目标存储库。

在查看SubrepoRemappingPlan后,我的第一个想法是将其[subpaths]放入一个.hg/subpaths文件中,该文件应该在克隆/拉取时复制。然而,事实证明这个功能已经过时了,并且子路径文件已经通过Projrc扩展替换为更通用的配置共享机制。

但是,Projrc 解决方案的问题是:

  1. 这是一个单独的扩展,所有团队成员都需要安装和启用

  2. 出于安全原因,需要进行额外配置以告知 Projrc 允许从哪里拉取(以及允许拉取什么)

所以,我的问题是,Mercurial 中是否有任何内置机制来实现跨克隆/拉取保留的子存储库映射?

4

2 回答 2

1

将子路径映射添加到您的.hgsub文件应该可以解决问题(如mercurial wiki中所述)。

于 2013-11-11T17:22:53.673 回答
1

通常,最好的方法是使用子存储库的相对路径(请参阅http://mercurial.aragost.com/kick-start/en/subrepositories/),因此它们根本不需要重新映射。

例子:

+ main repo
  + subrepo
  + .hgsub

.hgsub:

subrepo = subrepo
于 2012-03-28T00:18:10.623 回答