Mercurial .hgsub中的绝对路径有什么问题?
建议使用Mercurial .hgsub中的绝对路径有什么问题?,mercurial,mercurial-subrepos,Mercurial,Mercurial Subrepos,建议使用.hgsub中的普通相对路径,并使用[subpath]映射到绝对路径。我不完全理解这背后的原因。文档页面上的论点是绝对路径更有可能更改。当绝对路径改变时,使用[子路径]的解决方案不也需要改变吗 我可以理解的一个原因(但这不适用于我的情况)是克隆的克隆只能使用[子路径]将完整的原始路径重新映射到绝对路径。如果直接使用绝对路径,则克隆的克隆将从原始克隆而不是第一个克隆推/拉。这是反对在没有[subpath]部分的情况下使用绝对路径的唯一原因吗?主要原因是有时路径会发生变化,并且.hgsub是
.hgsub
中的普通相对路径,并使用[subpath]
映射到绝对路径。我不完全理解这背后的原因。文档页面上的论点是绝对路径更有可能更改。当绝对路径改变时,使用[子路径]
的解决方案不也需要改变吗
我可以理解的一个原因(但这不适用于我的情况)是克隆的克隆只能使用
[子路径]
将完整的原始路径重新映射到绝对路径。如果直接使用绝对路径,则克隆的克隆将从原始克隆而不是第一个克隆推/拉。这是反对在没有[subpath]
部分的情况下使用绝对路径的唯一原因吗?主要原因是有时路径会发生变化,并且.hgsub是历史的一部分。如果您的subrepo从移动到,您当然可以更新您的.hgsub文件,但旧版本适用于以前的修订。因此,当您进行hg update really\u old\u revision
时,它将尝试与http:/tinyco.com进行对话,而http:/tinyco.com作为收购的一部分受到了削弱。如果您保留一条普通路径作为子回购路径,那么您可以在.hg/hgrc
中使用[subpath]
将其指向当前所在的位置
还可以方便地将subrepo指向真实subrepo的本地克隆,这样即使无法推送到subrepo(无许可),也可以推送到它
一般来说,添加一个间接层可以增加灵活性。谢谢,我没有意识到我的
.hg/hgrc
中也可以有一个[子路径]
部分。如果文件.hgsub
中只有[subpaths]
部分,则在旧版本中也不正确。.hg/hgrc
中的条目是否会覆盖.hgsub
中的条目,即当路径更改时,我是否可以在.hgsub
中设置默认设置并更新.hg/hgrc
?是的,这是我的理解。