关于SVN资源库的一些思考 软件工程教程,软件工程,电脑教程,软件教程,学网

来源:百度文库 编辑:神马文学网 时间:2024/04/16 13:50:03
软件工程:关于SVN资源库的一些思考
1、所有项目都在一个SVN库中么?
对于这个问题,个人认为,应该每个项目建一个SVN库,为什么这样说呢,因为SVN是全局版本,假如SVN库是如下结构:
SVN库 <全局版本 1.1>
┠ 项目A <1.1>
┖ 项目B <1.1>
这就会导致任何一个项目修改,影响全局版本修改,不能真实反映单个项目的版本情况。
2、SVN库的目录结构该怎样规划?
参考了国外一些主要的开发网站,如SourceForge,大同小异,类似这样的目录结构:
SVN库
┠tags(发布)
┃   ├1.1 rc1
┃   ├1.2
┃   ├1.5
┃   └1.9
┠trunk (主版本)
┃   └ project
┃          ├src
┃          ├classes
┃          └WEB-INF
┖branches (分支)
└分支
主要的开发工作放在trunk,分支放在branches,发布版本放在tags。
存储库
┠项目名
┃   ├trunk:主版本
┃   ├branches:分支版本(独立版本)
┃   └tags:标记版本,比如发行版 v 1.0/ v 2.0等等
3、版本库的管理原则
1、项目负责人和版本管理员负责架构项目目录结构,包括配置文件、第三方JAR  文档
2、项目负责人分配开发人员目录权限,由版本管理员负责实施 ,权限分配粒度要细
3、trunk ,tags ,branches ,项目负责人、协同版本管理员构建tags 和branches
4、版本管理员负责解决开发人员在开发过程中的有关版本问题
5、开发人员每次修改,或者新增、删除、拷贝工作区对象后,应该立刻提交到版本库,有效保持工作区与资源库的高度一致 ,每天下班之前提交、(更新)
6、开发人员在每次修改工作区中代码或者文档时,首先更新该对象,可以尽量减少冲突、合并
7、保证提交到的版本库的代码没有BUG以免影响开发组 ,可以适当利用加锁机制,减少冲突
8、项目负责人和版本管理员负责软件的测试版,构建测试环境 ,branches由版本管理员进行 (checkout)
9、项目负责人和版本管理员负责发布软件的发布版,与系统部协调构建发布环境(export)
10 、版本管理员负责清理有关不需要的branches ,tags