|
首先是开发人员提交修复bug的fix时 不应该提交到版本1中. 下面描述一下过版本测试的概要过程: 对某个版本的测试时, 先给主线(main trunk)打个tag, 然后通过daily build脚本从cvs或svn上取代码并自动构建, 测试人员对该build版本进行测试和提bug, 开发人员针对提的bug进行修复, 并将fix提交到主线上, 下一个版本的测试重复上述过程(打tag->build包->测试->提bug->fix bug->commit to main).
通常产品的开发都是多个版本平行开发的, 那么上述的所说的概要过程的主线就可以用主线的一个分支来代替. 而新开发的功能就在主线的另一个分支上进行开发.
对于你提出的问题, 我觉得多个版本的之间代码的merge应该是单向的, 主线(main trunk)融合(接受)其他分支的bug fix代码和新功能的代码, 当主线包含了所有分支的代码后, 新版本的测试或新功能的开发是基于主线上建立的新分支.
融合的频率, 每个产品或项目都不一定, 需要结合实际的产品计划进行决策或调整.
至于如何Merge的问题, 可以由产品经理或开发经理针对未来的产品计划对代码进行取舍, 或有产品经理或开发经理进行code review后指定哪些bug fix的代码需要提交到主线, 然后让开发人员手工merge.
不知道这些解释能否解答你的问题, 欢迎指正.
Thanks in advance. |
|