更改丢失后重新应用 Plastic 中的合并?

Re-apply a merge in Plastic after changes were lost?

在我们的源代码控制中,一次提交不小心撤消了几个合并的更改分支。我假设发生的事情是开发人员将文件复制到源代码控制之外的另一个位置,在那里修改它们,将工作区更新到最新的变更集,然后复制他的更改。这有效地恢复了对受影响文件的多项更改,但塑料只是将其视为常规代码更新。

有什么方法可以重新应用丢失的更改吗?简单地选择 'merge' 会给出消息 "The merge search has finished, merge destination already contains source changes.",因为塑料再次不知道这些更改已丢失。

您将需要 运行 从错误创建的包含错误修订的变更集中进行减法合并。 Plastic SCM 减法合并系统将撤消所有引入的内容,从而导致您在该特定变更集之前拥有的内容。

例子

在上图中,我们需要删除由变更集“92”所做的变更,假设这是你的同事引入错误修订的那个,另一方面我们需要保留“93”、“94” ”和“95”。

我们不能只恢复到“92”,因为我们会失去“93”、“94”和“95”。

减法的作用如下:96=91–92+93+94+95.

它也是一个非常强大的“分解”任务的工具。参见 this

如何运行 减法合并

首先,您需要将工作区切换到受影响的分支,然后您需要右键单击变更集 92,“Advanced Merge -> Subtractive merge from this changeset”,继续处理合并操作,你就完成了,坏的改变已经不存在了。最后,您只需要将结果签入存储库即可。

注意合并操作如何将您的同事更改的文件建议为合并候选文件,所有这些更改都会自动撤消,因此您不需要 需要重新合并源分支。