Version control Hg:我自己内部的第三方存储库-自动拉?这是如何解决的?
土地布局(简化): 我拥有回购/项目模糊Fuzzy取决于不同的项目,Zazzy(假设它是某种类型的库)。两者都是mercurial存储库。目录树将沿着以下几行进行查看:Version control Hg:我自己内部的第三方存储库-自动拉?这是如何解决的?,version-control,mercurial,Version Control,Mercurial,土地布局(简化): 我拥有回购/项目模糊Fuzzy取决于不同的项目,Zazzy(假设它是某种类型的库)。两者都是mercurial存储库。目录树将沿着以下几行进行查看: -+- Fuzzy /* root repo */ \ +- something_fuzzy_related.c | +- Zazzy /* that other repo */ \ +- a_rather_zazzy_library.so 现在,让我们假设一个可怜的灵魂决定检查我的模糊
-+- Fuzzy /* root repo */
\
+- something_fuzzy_related.c
|
+- Zazzy /* that other repo */
\
+- a_rather_zazzy_library.so
现在,让我们假设一个可怜的灵魂决定检查我的模糊项目。他或她不会自动签出Zazzy
我怎样才能做到这一点?在大型项目中如何解决此类问题?我是否必须使用自定义脚本(我对此没有问题)来处理签出(许多项目都有这些奇怪的脚本,它们用于更新源代码,比如Chromium、WebKit)?您应该探索一下。它们正是为了这个目的。人们有时会用它们来处理这个问题
请注意,它们有一些尖锐的边缘,我们不建议将Zazzy项目放在Fuzzy项目中。这是因为它在两个项目之间建立了一个非常紧密的联系。如果外部存储库(Fuzzy)真的依赖于Zazzy中的确切变更集,那么这是合适的
然而,将不同的组件耦合得太强通常是一种不好的做法。有专门用于管理依赖关系的工具:在Java世界中,这一工具非常流行。我不知道有什么东西广泛用于C项目,尽管如果最终有很多复杂的依赖关系,您可以使用包系统(RPM、APT等)来处理这个问题