对于我的基于java的产品,这就是我的SVN结构:
\ branches
\ clientA
\ trunk
\ tags
客户端特定产品自定义正在clientA
分支中完成。完成自定义发布后,分支将标记并已发布。现在,我不要将这些更改合并到Trunk
,因为这些是客户特定的更改。
让我们说,我已经发布了MyProduct-ClientA-REL-v1.0
。
客户端A 会请求更多功能/增强功能。所以,我继续在同一个分支中开发,为下一个版本做好准备(MyProduct-ClientA-REL-v1.1
)。在为此版本开发时,客户端A 回来并说他遇到了上一版本的错误。
我现在该怎么办?比如说,我在v1.0代码的同一分支(已删除的文件)中修改了太多东西。
这个问题有意义吗?
答案 0 :(得分:2)
我会做什么。
在发布时导出clientA标记(如果您没有将其作为标记,则必须进行一些研究以找出它相当于哪个版本)。另外,如果您之前没有制作标签,那么在找到修订版之后是一个很好的时机。
然后,为该版本的bug创建一个额外的分支。进行修复并提交到给定的分支。获取发布版本的差异并将其修复到客户端主分支中。
对于其他自定义,也许最好创建一个分支'ClientX',然后重新创建trunk / branchs / tags结构。