如何在这种情况下制作/应用差异补丁?

时间:2009-02-15 11:23:06

标签: svn diff patch

我有一个项目,例如WORDPRESS。我正在使用SVN。

我有以下副本:

一个。来自wordpress.org的WP2.6

B中。 WP2.6,我修改了一些核心文件(添加/ del /更改一些文件的代码)

℃。来自wordpress.org的WP2.7

我想将版本A更新为C并保留版本B的更改。

我的一些改变可能就是这样:

版本A代码:

123 123

版本B代码:

123 x 123

版本C代码:

123 123 123

预计最终版本:

123 x 123 123

如何为此项目制作/应用补丁?如果我有100多个不同的文件,任何更快/更简单的方法

也许我以错误的方式思考。请建议做对。 感谢。

1 个答案:

答案 0 :(得分:1)

(简单回答):没有完全自动的方法 - 你需要分支和合并,合并意味着你必须看看你的修改,并测试它们。

  1. 从(A)开始作为/ trunk,签出到您的工作副本
  2. 为WP2.6创建“供应商”分支
  3. 将(B)复制到主干中。照顾自己 svn rm和svn mv删除和 重命名文件,并提交到 躯干
  4. 将工作副本切换到(A)-WP2.6分支
  5. 将(C)复制到此分支中(再次,如果需要,请不要忘记svn mv和svn rm),并提交
  6. 将工作副本切换回主干
  7. 从WP2.6供应商分支合并 回到行李箱(这是哪里 大部分的艰苦工作将是)
  8. 在提交行李箱之前,以任何你需要的信心进行测试
  9. 重复以后的版本

  10. 为了说明通常无法自动解决的难度,请考虑以下因素:在您的示例中,希望的最终版本可能是以下任何一种:

    123 x 123 123
    123 123 x 123