我刚刚开始开发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
将其应用到主干。很酷,但我必须对补丁进行一些修改,因为生产中发现了一个错误。
我该怎么办?
答案 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。