hg移植失败 - 如何建议合并?

Nei*_*den 17 mercurial

我的branch2274默认分支.Rev.415是第一次提交,它与rev共享一个祖先.默认分支上的412.

Branch2274是一个错误修复,需要很快合并到默认但是我做了一个非常愚蠢的事情 - 我合并了一个功能分支的变化(在修订版418)

简单来说,我需要撤消rev带来的任何变化.418.似乎有很多方法可以尝试这一点,但我很难让它们中的任何一个起作用:

Mercurial队列尝试:

我已经尝试将revs 415,416,417,(跳过418),421,428导入补丁队列,因此我可以将它应用于rev 425.

问题:tortoisehg只允许我导入转速428,421,但导入417是灰色的,但导入418只是给我错误"abort:无法导入合并修订版418"

移植尝试:

patching file Portal/Instructor/Login.aspx.vb
Hunk #1 FAILED at 18
1 out of 1 hunks FAILED -- saving rejects to file Portal/Instructor/Login.aspx.vb.rej
applying 66b6b089ee01
abort: Fix up the merge and run hg transplant --continue
patch failed to apply

[command interrupted]
Run Code Online (Sandbox Code Playgroud)

Login.aspx.vb在默认情况下已更改,我理解合并失败的原因.

我如何"修复"合并?

或者,是否有更简单的方法让我采取转速.418并告诉mercurial撤消它在case2274上新提交带来的更改?

Nei*_*den 18

为了不留下未回答的问题(!),我设法解决了这个问题,最终的答案是没有简单的方法可以自动解决问题.移植处理补丁,两个文件之间的差异,但没有考虑两个文件的共同祖先,因此很难知道当一个文件被同一个地方的两个人更改时该怎么做.

解决方案是在文本编辑器中加载文件并加载.rej文件,该文件列出了修补程序的失败部分.我只需要将我的添加内容放在代码文件中的合理位置.

运行:

hg transplant --continue
Run Code Online (Sandbox Code Playgroud)

..允许我申请其他补丁.

如果有人愿意花一些时间用一些洞察力或一些相关链接来扩展这个答案,那么答案就是他们的答案.