mercurial 子存​​储库可以是另一个存储库的子文件夹吗?

Can a mercurial subrepository be a subfolder of another repository?

我的仓库A依赖于仓库B,所以我打算将B作为子仓库添加到A。但实际上,A并不依赖于所有的B,只是依赖于B存储库根目录中的子文件夹bar/的内容。

是否可以表示只有子文件夹构成子仓库?

注意:这与

本质上是同一个问题

Git Submodule to a subfolder

但对于 mercurial 而不是 git。

同样的答案也适用于 mercurial:您不能进行仅包含部分存储库的签出。

如果您只需要存储库的一部分,您可以考虑使用相同的方法并将更广泛的部分(例如库)移动到一个单独的存储库中,此后可以作为子存储库被多个项目引用. 但是你应该考虑你是否真的想要它是一个官方的子存储库或者你只是 link 它(而不是让它成为一个官方的子存储库);您还可以将该库部分拆分为一个单独的回购,并定期将其简单地拉入将使用它的存储库中(这是一种重复,但避免了子回购方法)。