0

我们有 3 个分支,默认错误修复和发布。

经过一些糟糕的合并错误修复现在处于非常破碎的状态。我们已经有一段时间忽略了这个分支,但现在又需要它了。我希望它与默认值完全相同,但合并不起作用,因为它现在与默认值具有相同的祖先。

我试图将默认分支复制粘贴到错误修复分支,然后提交。

这似乎在某种意义上起作用

hg up --rev commitB
hg diff --rev commitA

hg diff 什么也不回馈,并且

hg up --rev commitA
hg diff --rev commitB

hg diff 什么也不回馈

但是当我从一个提交到另一个提交时,我仍然看到“42 个文件已更新”,这让我觉得存在差异......

我怎么能确定没有任何差异?如果有我如何使分支相同?

4

1 回答 1

1

树枝比你想象的更流畅。当您谈论分支 X 中的内容时,您真正想说的是“如果我检查其分支:标签设置为 X 的最新(技术上提示)提交,工作目录会是什么样子。

因此,如果我了解您想要什么,您最简单的解决方案就是使用分支名称创建一个新的(因此是最新的)提交bugfix。这应该这样做:

hg update default
hg branch --force bugfix
...make a tiny change (perhaps to the readme)...
hg commit -m 'reinvogorating bugfix'

然后,当您这样做时hg update bugfix,它将完全像deafult您当时那样。

您正在做的事情不起作用,因为默认情况下已删除和/或添加的文件没有通过复制粘贴删除或添加到您的错误修复中,但实际上不要复制粘贴,只需重新创建默认错误修复和完成它。

于 2013-10-14T18:00:05.123 回答