Mercurial分支 - 在书签分支之间共享更改

时间:2013-05-14 10:25:28

标签: version-control mercurial branching-and-merging

基本上我有这种结构的存储库:
A(分支:稳定) - > B(分支:开发) - > C(分支:开发,书签:功能)(和类似的兄弟姐妹)

在C兄弟之一(比如说-E)我做了一些我希望与所有其他书签分支共享的更改。 我该怎么做呢?我想将E与B合并,然后从新的提交合并到其他书签分支(C的兄弟姐妹) - 但是当我尝试将E合并到B时,Hg会抛出错误 - “没有合并”。
如果尝试将E合并到A - Hg处理得很好,我需要完全相同,但只是在单个命名分支内部(这里 - 开发)。

如何才能正确达到所需效果?

1 个答案:

答案 0 :(得分:0)

从E到B没有任何合并,因为E是同一分支中B的直接后代(两者之间没有合并)。您可以hg bookmark B -r E将B的书签向上移动E,这实际上是合并将要执行的操作。之后,你应该设置你想要活动的书签,以免意外结束B跟踪当前的头部并且E卡在后面。然后你可以合并C的其他兄弟姐妹没问题。

当然,如果您只是想要合并,您也可以直接合并来自E:

的更改
hg update C # or other siblings
hg merge B
hg commit -m'Merged in changes from B'

将E合并到A是有效的,因为它们位于不同的分支中。

相关问题