我们有2个mercurial命名分支,开发和测试。对于应该合并到测试中的开发有很多变化。有时,更改会合并,然后回滚。然后可能在错误的方向上尝试合并。结果是我们现在有2个分支,最近有一个共同的父母。而且我们仍然有未经测试的开发变更。但由于我们所犯的错误和共同的父母,将开发合并到测试中没有任何作用,即它不应用任何变化。
如果我愿意接受几周的测试,我是否可以像这样切换到测试分支:
hg update <last good test revision>
然后'从本地'移植到本地'我们想要移动测试的十几个更改,然后合并开发以重置普通父级进行测试?
这是一个疯狂的计划还是有更简单的方法?
答案 0 :(得分:1)
如果只有十几个更改,您确实可以update to good test rev
开始新的和graft to local
您需要重新创建完美分支的提交。
只有当您对新的banch头感到满意时,使用this trick合并两个头并忽略坏test
头。你需要在你的分支上有一个头。
现在您处于test
将保留development
分支的所有更改的状态。我建议您再次使用相同的技巧合并development
,以便为您需要的test
制作公共父级,但不会在development
中发生任何污染。如果它不起作用,只需在development
上创建一个虚拟变更集,然后再次重试该技巧(如果有意义的话)。
但是,最后,您似乎并不太担心development
分支被test
分支污染。这个方向可以吗?
答案 1 :(得分:1)
这是一个疯狂的计划还是有更简单的方法?
是的,是的。
是短脑动力(而非驴动力)平原平原A
hg clone -r LAST_GOOD_CSET
)平原B