【问题标题】:How do I make/apply a diff patch to this situation?如何针对这种情况制作/应用差异补丁?
【发布时间】:2009-02-15 11:23:05
【问题描述】:

我有一个项目,例如 WORDPRESS。我使用的是 SVN。

我有以下副本:

A.来自 wordpress.org 的 WP2.6

B. WP2.6,我修改了一些核心文件(add/del/change some files' code)

C.来自 wordpress.org 的 WP2.7

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

我的一些更改可能是这样的:

版本A代码:

123 123

版本B代码:

123 x 123

C版代码:

123 123 123

预期的最终版本:

123 x 123 123

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

也许我想错了。请建议改正。 谢谢。

【问题讨论】:

    标签: svn diff patch


    【解决方案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. 在以后的版本中重复

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

    123 x 123 123
    123 123 x 123
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多