subversion管理代码最佳实践

 

代码管理实践

代码仓库均采用subversion来管理,

  1. 代码目录的创建,

     一般创建三个目录分别为

    trunk(主干)

    tags(标签/标记),只存储快照。

    branches(分支)

    tagsbranches下一般为根据需要从trunk目录拷贝过来的。


  1. tags(基线)的创建要求。

    1. 代码在一种平台下通过编译(必须)

    2. 代码编译出来的版本通过一定的冒烟测试。

    3. 在项目要求的平台都可以编译通过。

    4. 一般有一个安装包给测试时,就需要在tags下建立对应代码的标签。

    5. tags下的代码一般不可以修改。

两种代码管理模式介绍:

  1. 始终分支系统(OpenOffice社区采用管理方式)

典型特征:项目较大,代码较多,编译时间较长,参与人员比较多时。


    1. 每个用户对每项 编码任务的创建或操作都是在私有分支(cws)中进行的。

    2. 编码完成后,原编码者、同级或经理将对所有私有分支的更改进行审查并将它由合并到 /trunk 中。

    3. 里程碑(基线)的创建

      集成人员集成将开发人员提交的功能集成到主干上,编译通过后,提交的主干上,集成了一定的功能后,创建一个里程碑版本,一般建议按周创建里程碑版本。并在tags下创建相应的代码快照,并将安装包传至指定位置。

    4. 开发人员基于里程碑版本开发。

      开发人员一般基于最新的里程碑版本创建分支,并在分支上工作,并在自己的分支上提交,在提交到svn之前需要编译通过。开发人员需要根据自己开发情况来同步到主干的里程碑代码。如果需要集成到主干上,需要同步到最近的里程碑。

    5. 测试人员.

      测试人员对开发人员的代码进行测试,达到一定的测试标准后,测试通过,然后交由集成人员来集成。


  1. 按需分支系统(Subversion社区采用管理方式)

适用方式代码较少,或者参与开发的人员较少

    1. 开发人员可以直接在主干上提交。开发负责人来编译版本给测试。

    2. 开发者把所有的新特性提交到主干。 每日的修改提交到/trunk:新特性,bug修正和其他。新近的开发人员不能提交代码,交由有经验的开发人员验证后来提交到主干上。

    3. 当开发小组认为软件已经做好基本发布的准备(如,版本1.0)然后/trunk会被拷贝到/branches/1.0。这个主干被拷贝到“发布”分支。然后在发布分支上继续修改bug.

    4. 如果bug修正经测试达到一定的要求认为可以完成时,可以拷贝到/tags/1.0.0,这个标签被建立并发布给相关人员。


  1. 向subversion库提交提交代码要求

    1. 针对每次提交到主干上的代码均需要编译通过

    2. 代码每次提交到svn上均需要添加注释。

    3. 每个人都用自己账号来提交代码。


 

参考资料

http://www.subversion.org.cn/svnbook/nightly/

http://wiki.services.openoffice.org/wiki/OOo_and_Subversion

http://www.collab.net/scdocs/SVNTips.html

http://bjbook.net/bk/scmbest/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值