关于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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值