SVN 目录结构

machunlin

贡献于2012-11-01

字数:1156 关键词: Subversion 版本控制系统

百润百成集团 技术部 关于SVN 目录结构(草稿)    Subversion有一个很标准的目录结构,是这样的。比如项目是econtract,svn地址为svn:// econtract /,那么标准的svn布局是    svn://econtract/    |    +-trunk    +-branches    +-tags     这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。     对于这几个开发目录,从软件产品的角度出发,使用trunk作为主要的开发目录。     我们的所有的开发都是基于trunk进行开发,当一个版本(release)开发告一段落(开发、测试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag,比如tag/1.3.Release。当下一个版本/阶段的开发任务开始,继续在trunk 进行开发。此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本,比如1.4版(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。应该基于发行版对应的tag,做相应的分支(branch)进行开发。例如,刚刚发布1.3,正在开发1.4,此时要在1.3的基础上进行bug修正: 按照时间的顺序 1. 1.3开发完毕,代码冻结 2. 基于已经冻结的trunk,为release1.3打tag 此时的目录结构为 svn://econtract/ +trunk/ (freeze) +branches/ +tags/     +tag_release_1.3 (copy from trunk) 3. 1.4开始开发,trunk此时为1.4的开发版 4. 发现1.3有bug,需要修改,基于1.3的tag做branch 此时的目录结构 为 svn://econtract/ +trunk/ ( dev 1.4 ) +branches/      +dev_1.3_bugfix (copy from tag/release_1.3) +tags/      +release_1.3 (copy from trunk) / 2 百润百成集团 技术部 5. 在1.3 bugfix branch进行1.3 bugfix开发,在trunk进行1.4开发 6. 在1.3 bugfix 完成之后,基于dev_1.3_bugfix的branch做release等 7. 根据需要选择性的把 dev_1.3_bugfix这个分支merge回trunk(什么时候进行这步操作,要根据具体情况)     这是一种很标准的开发模式,很多的公司都是采用这种模式进行开发的。trunk永远是开发的主要目录。所以会签项目组也采用这种方式进行版本管理。 / 2

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档