Mercurial:逐个应用更改以解决合并问题

时间:2010-05-26 22:36:14

标签: mercurial merge

我最近尝试合并一系列变更集并遇到大量合并问题。因此,我想逐个尝试按顺序应用每个变更集,以便使合并问题更易于管理。

我将举例说明4个有问题的变更集(514,515,516和517)[在我的实际案例中,我有更多的变化]

o changeset: 517
|
o changeset: 516
|
o changeset: 515
|
o changeset: 514
|
|
| @ changeset: 513 
| |
| o changeset: 512
| |
| o
| |
| o
| |
| o 
|/
|
|
o changeset 508

请注意,在拉出有问题的变更集之前,我已经有了我的回购克隆。

当我拉出4个变更集并尝试合并时,事情太复杂而无法解决。

所以我想只拉变换集514,然后合并。然后,一旦我解决了合并问题,只需拉动变更集515并应用它等等(我知道编号应该改变,这不是我的问题)。

我该怎么做,最好不使用任何扩展名? (因为我想了解Mercurial以及我做得更好)。

是否可以在508和514之间生成补丁并应用该补丁? (如果是这样,我将如何生成该补丁)

包括具体命令行示例的答案最受欢迎:)

2 个答案:

答案 0 :(得分:4)

我没有对此进行测试,但合并各个变更集应该很容易:

$ hg update -r 513
$ hg merge -r 514
... # do your conflict resolution and commit
$ hg merge -r 515
... # repeat

答案 1 :(得分:1)

我还没有测试过,但它应该只对hg up一个接一个地对每个外部变更集起作用。我不认为你必须在更新之间做出承诺。

作为奖励,您希望:-)

的命令行示例
hg up 513
hg up 514
hg up 515
hg up 516
hg up 517