结合Subversion软件版本管理,我的软件开发流程

我负责一个中等规模软件的开发维护工作,使用的工具包括:

Subversion SVN进行源代码管理

TestDirector进行测试管理

使用了大概一年时间了,没怎么思考怎样才是合理的开发流程,有哪些原则需要遵守,今天,我的工作面临三个问题:

(1)、我正在一个从4.0.21版本拷贝过来的分支进行新需求开发,计划一个月后发布4.1

(2)、一个星期前发布的4.0.21版本发现了bug,于是我再从4.0.21版本拷贝分支,修改bug提交,计划3天修改完bug,发布4.0.22

(3)、二个月以前发布的4.0.17版本发现了一个严重的bug,该版本在现场使用,优先级最高,需要尽快解决,我犯难了。

第三个问题很棘手,通过与领导同事沟通,商定方案如下:从4.0.17拷贝分支,在该分支上修改bug,提交,发布后在svn的tag目录下备份4.0.17_1,同时将该分支的修改合并到主干,问题顺利解决。

问题解决后,我再次与同事沟通,觉得软件版本管理可以遵循如下几个简单的原则:

(1)svn目录包括trunk,tag,branch,分别对应主干,旧发布版本,临时分支

(2)svn主干代码修改较少,需要保证其代码稳定

(3)每发布一个版本都需要在tag下备份

(4)多个开发任务可以并行进行,但必须在branch上进行,修改完成后合并到主干

(5)之前发布的版本出现bug之后,必须要从那个版本拷贝分支,修改,发布,tag备份,再合并到主干。

(6)认真记录changelog,认真写svn日志

你可能感兴趣的:(subversion)