Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control Hg:我自己内部的第三方存储库-自动拉?这是如何解决的?_Version Control_Mercurial - Fatal编程技术网

Version control Hg:我自己内部的第三方存储库-自动拉?这是如何解决的?

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取决于不同的项目,Zazzy(假设它是某种类型的库)。两者都是mercurial存储库。目录树将沿着以下几行进行查看:

-+- 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等)来处理这个问题