回滚后如何将以前的更改合并到头部?

时间:2014-10-25 16:56:37

标签: svn merge

假设我们在修订版10中,进行一些更改,获取函数A,提交,现在在修订版11中。 但这些变化很难测试。因此,维护者回滚到修订版10,并提交,现在在修订版12中。

在其他一些提交之后,我们处于修订版20.我决定测试函数A,所以我将项目更新到头部,修订版20.

问题是如何将修订版11中的更改​​合并到头部,同时在修订版12之后保留更改。

我试过了

svn merge -c 11 svn://path/to/project/trunk .

我在当地的主干dir。但它不起作用,因为标准输出中没有任何东西,我的项目保持不变。

我已经测试了

svn diff -r 11:20 svn://path/to/project/trunk/fileA ./fileA

确实给出了两次修订之间的差异。

2 个答案:

答案 0 :(得分:0)

你几乎拥有它。以下应该有效:

svn merge -c 11 svn://path/to/project/trunk .

如果要复制修订版11中所做的更改,则需要合并变更集11。

答案 1 :(得分:0)

  1. 您的合并命令正式正确
  2. 将旧的变更集应用到新的(已修改的)代码无法保证 - 必须在上下文中应用统一差异,这可以在r11之后更改,并且您将被拒绝合并冲突结果:检查WC中新的无版本文件
  3. 你的差异对于你的情况是坏的和无用的:如果你想要获得r11中的变化并且用svn patch手动应用,而不是合并,你必须svn diff -c 11 > r11.patch