gpt4 book ai didi

version-control - hg : third party repository inside my own - with auto-pull? 这个怎么解决的?

转载 作者:行者123 更新时间:2023-12-04 07:18:09 25 4
gpt4 key购买 nike

地形图(简体):

我拥有 repo/project FuzzyFuzzy 依赖于一个不同的项目,Zazzy(假设它是某种类型的库)。两者都是 mercurial 存储库。目录树看起来是这样的:

-+- Fuzzy /* root repo */
\
+- something_fuzzy_related.c
|
+- Zazzy /* that other repo */
\
+- a_rather_zazzy_library.so

现在,假设某个可怜的人决定检查我的 Fuzzy 项目。他或她不会自动结帐 Zazzy。

我怎样才能做到这一点?在大型项目中如何解决此类问题?我是否必须使用自定义脚本(我对此没有问题)来处理结帐(许多项目都使用这些奇怪的脚本来更新源代码,想想 Chromium、WebKit)?

最佳答案

人们有时会使用 subrepositories来处理这个。

请注意它们有一些锋利的边缘,我们不建议将 Zazzy 项目放在 Fuzzy 项目中。这是因为它创建了一个非常 tight coupling两个项目之间。如果外部存储库 (Fuzzy) 确实依赖于 Zazzy 中的确切变更集,这可能是合适的。

但是,将不同的组件耦合得太紧密通常是一种不好的做法。有专门的工具来管理依赖关系:在 Java 世界中,Maven为此很受欢迎。我不知道 C 项目广泛使用的东西,但如果你最终遇到很多复杂的依赖关系,你总是可以使用包系统(RPM、APT 等)来处理这个问题。

关于version-control - hg : third party repository inside my own - with auto-pull? 这个怎么解决的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com