什么是hg外部回购的最佳实践?

时间:2012-08-30 00:57:45

标签: version-control mercurial

类似,但hg文档阻止了答案:Can I emulate svn:externals using mercurial?

在使用hg之前我使用的是Subversion。看起来Subversion中的外部非常强大:我可以拥有指向另一个回购的特定版本的子回购。但是Hg Subrepository的文档说这是“最后的特色”。哇,这是不祥的。另外,我没有在文档中看到任何关于将该subrepo粘贴到特定版本的内容。

不再保留Deps扩展名。

网站不鼓励森林扩展。

所以,如果我想要一个回购的版本XYZAB嵌套在我的Hg回购中,那么现在最好的选择是什么,不是最后的特色? Hg对这个功能有点不好吗?

Guestrepo值得一看,但此时非常新:https://bitbucket.org/selinc/guestrepo

1 个答案:

答案 0 :(得分:3)

  

但Hg的Subrepository的文档称它是“最后的特色”。哇,那是不祥的。

这意味着你应该仔细检查你真的需要subrepos。有许多非常大的项目使用Mercurial而不使用子库。他们将代码作为松散耦合的存储库集合进行管理 - 子存储库的主要问题是它们创建了very tight coupling,并且在软件设计中通常会避免紧密耦合的组件,因为它们会限制您的灵活性。

但是,对子库不会的支持会消失,事实上,随着人们向我们提供良好的使用案例,它会逐渐改善。

  

另外,我在文档中没有看到任何关于将该subrepo粘贴到特定版本的内容。

奇怪,因为子存储库都是关于签出特定版本的。也就是说,您可以签出您提交的完全相同的版本。提交时,版本将写入.hgsubstatehg update将在结帐时查看该文件。

有关如何处理.hgsubstate文件的信息,请参阅Mercurial Kick Start guidehg help subrepos

相关问题