2008-10-20 68 views
62

我们正在考虑从SVN转向Mercurial,并且遇到了绊脚石。我可以使用mercurial来模拟svn:externals吗?

我们目前使用svn:externals来自动将一组常用库拉入工作目录。在Mercurial中找不到像这样的支持。

有没有办法与Mercurial自动执行此操作,还是需要将其伪装为构建过程的一部分?

+0

这个问题最好的hg扩展名可能会有用。我特别提出了这个问题,以解决这个svn:externals问题。 [什么是最好的和必须的hg/mercurial扩展?](http://stackoverflow.com/questions/1869040/what-are-the-best-and-must-have-hg-mercurial-extensions) – 2010-02-05 15:01:11

回答

20

没有好的方法来使用mercurial来做它。在其他地方提到的森林扩展导致了现在修复中的更多问题。大多数人只是使用大型回购协议,并将所有组件都包含在回购协议中,然后让他们的构建脚本下载并使用第三方库 - 如果使用的是Java头部,则使用maven。

简短回答“在构建过程中伪造它”。

更新:

在水银1.3添加了一个新的子回购功能。它就像旧的扩展名,但是以所有新代码开始。

Subrepos被认为是“最后手段的特征”。

+0

嗨。我不清楚“大多数人只是使用大型回购协议,并将所有组件都包含在回购协议中”。这将如何工作?假设你有project1和project2都使用component1和component2,那么如何使用Mercurial在一次命中中检出project1? – 2009-07-13 11:22:16

0

尝试Mercurial的Forest Extension

+5

当心的森林延伸。它并未保持最新状态,只适用于旧版本的Mercurial。它已经不受大多数​​水银人的青睐,所以我不认为它将来会被拖延。 – 2008-10-24 03:35:21

相关问题