作者:360691894_8a5c48 | 2023-09-06 11:49
我有两个独立的mercurial存储库.在这一点上,它们"成为一体"是有道理的,因为我想同时处理这两个项目.
我真的很喜欢这两个项目,每个项目都是新存储库中的子目录.
我如何合并这两个项目?
这是一个好主意,还是应该将它们分开?
看来我应该能够从一个存储库推送到另一个存储库......也许这真的很直接?
1> jm...:
我能够以这种方式组合我的两个存储库:
使用hg clone first_repository
克隆库之一.
用于hg pull -f other_repository
从其他存储库中提取代码.
在-f
上拉(力)标志是关键-它说,忽略了一个事实,这两个库是不是来自同一个源头.
以下是此功能的文档.
**@ Marcus Lindblom:**永远不会*改变它的哈希值.如果您在执行此操作后查看`hg glog`,您将看到有两个不相关的变更集行.每行中的第一个变更集没有父级,但这对Mercurial来说不是问题.一旦你拉出你想要为每一行创建一个新的变更集,你将所有东西都放到相应的子文件夹中,然后你合并这些行就可以了.
这是有效的,但你还需要运行`hg merge`来最终使一切正常
供参考,以下是此过程的文档http://mercurial.selenic.com/wiki/MergingUnrelatedRepositories
2> Geoffrey Zhe..:
从1.3(2009-07-01)开始,hg开始有了subrepo.早期版本不完整且不稳定,但现在它非常实用.
可能值得注意的是,子库是官方最后的特色:http://mercurial.selenic.com/wiki/Subrepository(截至2013.11.12)
我发现subrepos是一种痛苦的工作.他们工作,但你必须跳过一些箍来让他们表现,如果你不小心,可能会引起很多麻烦.