为新版本重新创建svn补丁

时间:2013-09-11 20:01:52

标签: svn versioning patch

我的情况如下:

  1. 我在修订版A下载了一个项目(该项目正在使用SVN)
  2. 我开发了一个新功能,将其作为补丁提出
  3. 我现在有了补丁,在您将其应用于修订版A
  4. 时为您提供了该功能
  5. 从第1步开始,项目进一步发展,现在正在修订版B.
  6. 我现在需要知道如何将我的功能作为补丁,可以应用于版本B并在那里集成我的功能。
  7. 有没有办法做到这一点?不幸的是,我更喜欢Git而不是SVN ... :(

    提前致谢!

1 个答案:

答案 0 :(得分:0)

补丁的优点在于它们通常可以应用,即使它生成的代码稍有变化。

您可以在类Unix系统上使用带有标准“补丁”实用程序的SVN补丁,该系统也已移植到Windows(http://gnuwin32.sourceforge.net/packages/patch.htm)。此实用程序可让您对补丁的应用方式以及尝试应用补丁时需要考虑多少“模糊”进行相当大的控制。一旦你应用了补丁,检查svn diff以确保包含所有更改,并且您不需要修改它以使其使用最新代码,然后您可以重新生成补丁以便它适用干净。

如果代码更改过多,或者与修补程序中修改的行相同,那么一个或多个“帅哥”可能会失败。在这种情况下,补丁实用程序会告诉您失败的原因,并且您可以在重新创建补丁之前手动应用这些更改。