如何在Mercurial中结合两个项目?
我有两个单独的mercurial仓库。 在这一点上,他们“合一”是有道理的,因为我想同时在这两个项目上工作。
我真的很喜欢这两个项目都是新的存储库中的一个子目录。
- 我如何合并这两个项目?
- 这是一个好主意,还是应该让他们分开?
看来我应该能够从一个仓库推到另一个仓库…也许这是非常简单的?
我能够以这种方式结合我的两个存储库:
- 使用
hg clone first_repository
克隆其中一个存储库。 - 使用
hg pull -f other_repository
从另一个存储库中提取代码。
拉的-f
(强制)标志是关键 – 它说忽略这两个存储库不是来自同一个源的事实。
这里是这个function的文档 。
hg自1.3(2009-07-01)开始有subrepo 。 早期的版本是不完整和摇摇欲坠的,但现在它很可用。
如果您在项目中不使用相同的代码,请将它们分开。 您可以将每个项目的个人存储库设置为只是一个目录。 为什么混合所有的分支,合并,并提交意见,当你不需要。
关于您的编辑:从一个存储库推到另一个存储库。 您始终可以使用transplant
命令。 虽然,这一切是真正的一面,你的愿望结合起来,所以你可能会感到不舒服使用我的build议。 那么你可以使用林扩展,或者其他的东西。
hg transplant -s REPOSITORY lower_rev:high_rev