Mercurial:如何管理公共/共享代码

时间:2009-05-06 18:32:10

标签: mercurial

我正在使用Mercurial供个人使用,并且因为各种原因而将其作为SVN的替代品用于某些分布式项目。

我对将其用于自包含项目感到满意,并且可以看到各种共享选项,但是我还没有找到任何关于管理公共库的指导,以便以与外部提供的方式类似的方式包含在多个项目中在颠覆中。

最明显的共享代码块是错误处理和报告 - 我们希望这在所有项目中都是相同的(它已经很好地发展)。还有实用程序代码,控制库和类似物,我们发现使用每个解决方案构建的项目比作为编译类引入更好(尤其是因为它确保它们保持最新,持续集成有助于我们解决重大变化)

思考(我讨厌开放式问题,但我想知道其他人在做什么,如果有的话)。

4 个答案:

答案 0 :(得分:3)

Mercurial 1.3现在包含nested repository support,可用于表达依赖关系。另一个选择是让你的构建系统使用像常春藤或maven这样的东西来处理依赖项的下载和跟踪,尽管那些更专注于下拉编译代码。

答案 1 :(得分:1)

自从我提出这个问题后,世界发生了变化,我现在使用的解决方案也不同了。

现在简单的回答是使用包(特别是NuGet,就像我做.NET)来提供公共代码,而不是嵌套repos并将项目包含在解决方案中。

所以我有一些内置在NuGet包中的公共代码,并使用TeamCity进行托管,之前我将拥有一个外部包含项目/源代码,我现在只需要引用该包。

答案 2 :(得分:0)

在某种程度上使用它为HG模拟svn外部的Forest Extension

答案 3 :(得分:0)

Subrepository(好guide)或Guestrepo“克服......限制”(subrepos)是今天与语言无关的答案