将mercurial存储库合并到另一个存储库的子目录中

时间:2016-04-21 10:54:16

标签: mercurial mercurial-subrepos

我需要定期将mercurial存储库的所有新变更集(让我们称之为A)合并到另一个mercurial存储库的子目录中(让我们称之为B)。这意味着,只是复制所有文件不是一个选项,因为B中的文件也可能会被更改,并且必须进行适当的合并。

我唯一能找到的东西是http://hgtip.com/tips/advanced/2009-11-17-combining-repositories/,它是关于组合存储库,而不是一次又一次地合并包括变更集。

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

这听起来像是要使用sub-repositories的情况:将存储库A作为子存储库包含在父存储库B中。

让我们假设A的所有内容都在路径B/A中找到。 这样,您将在本地存储您的存储库B并在其中存储另一个存储库。然后,您可以转到存储库A,从另一个存储库A'然而你认为合适的是合并。然后返回父级别,到存储库B.更新A的跟踪状态及其状态。如果要进行任何影响A和B的局部更改,请使用递归hg commit --subrepos。有关详细说明,请参阅https://www.mercurial-scm.org/wiki/Subrepository

然而,请注意,子存储库是最后的特征;这意味着它有一些粗糙的边缘。其中之一就是几乎不可能解除两个存储库的纠缠。

可能类似Guest RepositoriesHG NestedForest扩展程序等功能更适合您的实际用例。