我想评估Mercurial的工作项目。但是我的大多数项目都非常依赖于svn:externals-like支持的存在。我搜索了StackOverflow并搜索了Mercurial中的相应支持。我发现的只是在Mercurial 1.3中添加了subrepo功能,但是the page for this feature说:
subrepos是Mercurial 1.3的实验性功能。所以不要在任务关键型存储库上执行此操作!
我不想使用不稳定的东西。
任何人都可以了解这个功能的实际状态,以及抛光/完成它的计划以及何时称为“稳定”并为关键任务存储库做好准备?
答案 0 :(得分:6)
#mercurial IRC频道中的词是subrepos将继续像他们一样工作,支持将会增长。例如,目前'hg status'命令不是subrepo意识 - 它可以工作,它只是没有递归,但将来它将是。但是,当前行为,fileformats(.hgsub和.hgsubstate)只会以向后兼容的方式更改。
所以,现在继续指望它,并期待它变得更好。
P.S。从mercurial 1.4.2开始,subrepos现在可以是subversion repos,所以你可以使用mercurial parent和svn kid。
答案 1 :(得分:1)
到目前为止,我对我(轻)使用它的功能运气不错。它在两个地方派上用场了:
hg pull
命令备份不相关的存储库树。hg clone
获取可构建的源代码。这更接近典型的svn:externals
用法。到目前为止,我已经看到了一些限制:
clone
,push
/ pull
,update
/ commit
以及其他几个命令当Mercurial团队将该功能描述为“实验性”时,他们并不意味着它突然决定删除所有数据。它们只是意味着他们没有编码所有边缘情况,如名称冲突(例如,一个开发人员添加了一个名为README
的子文件,而另一个开发人员添加了一个名为README
的文本文件。