我目前正在从 CVSNT 迁移到 Mercurial,但遇到了我过去使用 CVS 模块能够实现的问题。我有两个项目 A 和 B,它们都依赖于目录 C 中的公共代码。如果我对目录 C 中的代码进行更改,我希望这些更改同时反映在项目 A 和 B 中。(这似乎是这里的问题完全相反)
我认为这可以使用 subrepos 来实现,但是项目 A 和 B 中的 .hgsubstate 会记录我列出的提交的子 repo 中的变更集。即我在项目 A 上提交了 C 的更改,我必须手动打开 B 来更新和提交。(实际上,还有更多的项目只有 A 和 B,是的,我知道公共代码应该在共享库中,但 PHB 坚持!)
有没有办法做到这一点?理想情况下,我希望它对用户来说是透明的 repos 的结构,即他们可以提交对 C 的更改,而不必意识到它是他们项目的子 repo。(目前 tortoise Hg 使用“S”表示子存储库是脏的)。我想我需要的是爸爸回购和部分退房,但肯定有更好的方法吗?我在 Windows 上,所以符号链接不可用。