使用SVN向开源项目提交错误修正的最简单方法是什么?

时间:2009-03-28 06:47:50

标签: svn open-source tortoisesvn patch

使用SVN向开源项目提交工作补丁或错误修复的最简单方法是什么?

理想情况下,我想提交修订版或修补程序,以便他们可以在批准时直接将其应用到其存储库中。

如果重要的话,我正在使用TortoiseSVN。

4 个答案:

答案 0 :(得分:5)

右击 - > tortoise svn->创建补丁

这将在补丁文件中保存工作副本中的更改。这样做,您可以看到您所拥有的更改的完整列表:)

聚苯乙烯。注意如何使用 - >应用补丁,任何人都可以轻松地将保存的补丁应用到本地版本。

答案 1 :(得分:3)

这是你应该做的:

  1. 确保错误尚未修复(在主干或分支上)。通常,发行版中存在的错误已在开发代码中修复。
  2. 获取代码的工作副本
  3. 修复工作副本中的错误,编译并测试
  4. 修复错误时,使用相同的编码样式(例如,制表符/空格,缩进,变量命名等)作为现有代码
  5. 由于您正在使用TortoiseSVN:右键单击您的工作副本,TSVN子菜单 - >创建补丁。将补丁文件保存在某处。
  6. 压缩补丁文件(大多数电子邮件应用程序都附加了附加文本文件中的空格,并且补丁文件根本不应该被搞乱 - 压缩它会阻止它)
  7. 将补丁文件发送到项目邮件列表(或项目开发人员),描述您修复的错误,如何重现错误(或如何检测错误)以及修复方法
  8. 查看邮件列表,了解开发人员可能对您的补丁提出的问题

答案 2 :(得分:2)

不实际,SVN访问仅供开发人员使用,只是为了防止可能不知道代码或甚至想要拆除存储库的人员发生的事故。补丁可以通过bugtrackers发送 - 您签出,然后修改您的工作副本。因为您无法使用SVN发回更改,所以您可以创建一个diff文件(补丁)并将其发布到项目讨论板或bugtracker上,具体取决于它解决的问题。如果用户和开发人员喜欢它,他们会将其与官方存储库集成。使用diff文件,非常简单。

请注意,有时可以获得自己的项目分支。例如,开源游戏OpenTTD为想要维护自己的补丁或新功能的人提供了git存储库。其他项目可能使用Launchpad。

答案 3 :(得分:1)

您需要确保拥有源代码的最新更新,并确保您所做的任何更改仍然正确地合并到代码中。之后,您将需要在原始源代码和您编写的新源(svn diff)上进行差异。

你接受这个差异,并将其发送到适当的位置,例如邮件列表,某种bug跟踪器,或者如果项目由一个人运行,则发送给原作者。