我应该如何构建我的插件开发以及如何将补丁应用于svn中的补丁?

时间:2013-02-04 18:59:09

标签: svn branch patch

我刚刚开始开发redmine插件和补丁,我正在使用svn。我有下一个结构:

doc/
src/
src/branches/
src/plugins/
src/patches/
src/trunk/

我的想法是为我要开发的每个插件或补丁创建一个trunk的分支。 plugins文件夹用于存储不同版本的插件,patch文件夹用于修补程序的版本。

我现在面临下一个问题:我创建了一个分支issue_x来开发补丁。在第一个版本之后,我使用svn diff > patch.diff来获取补丁。然后我将其保存在补丁文件夹中,然后使用patch -p0 < ../patch.diff将其应用到主干。很酷,但我必须对补丁进行一些修改,因为生产中发现了一个错误。

我该怎么办?

  • 创建新补丁以修复错误?
  • 修复错误,创建整个补丁(包括所做的所有更改),还原后备箱中的补丁,然后重新应用新补丁?
  • 还有别的吗?

2 个答案:

答案 0 :(得分:0)

Subversion(以及任何共同的SCM)方式是&#34;合并更改&#34;来自不同的发展线。

I.e而不是diff-patch方式你使用svn内部技术 - 将分支合并到主干,在分支中添加一些更改后重新合并而你不需要结果

阅读SVN Book,这是有用的事情

答案 1 :(得分:0)

我不确定你为什么使用补丁而不是合并。这很奇怪。

最明显的事情(对我而言)是分支issue_x,修复错误,合并回issue_x,然后将issue_x合并回trunk

在您的方案中,我建议您进行更改以修复issue_x中的错误,创建补丁并将其应用于trunk。您仍然应该从SVN branching and merging了解SVN Book