您的位置:首页 > 其它

SVN库的目录结构详解

2010-06-13 09:37 260 查看
1、所有项目都在一个SVN库中么?

对于这个问题,个人认为,应该每个项目建一个SVN库,为什么这样说呢,因为SVN是全局版本,假如SVN库是如下结构:

SVN库<全局版本1.1>

┠项目A<1.1>

┖项目B<1.1>

这就会导致任何一个项目修改,影响全局版本修改,不能真实反映单个项目的版本情况。

2、SVN库的目录结构该怎样规划?

参考了国外一些主要的开发网站,如SourceForge,大同小异,类似这样的目录结构:

SVN库

┠tags(发布)

┃├1.1rc1

┃├1.2

┃├1.5

┃└1.9

┠trunk(主版本)

┃└project

┃├src

┃├classes

┃└WEB-INF

┖branches(分支)

└分支

主要的开发工作放在trunk,分支放在branches,发布版本放在tags。

存储库

┠项目名

┃├trunk:主版本

┃├branches:分支版本(独立版本)

┃└tags:标记版本,比如发行版v1.0/v2.0等等

3、SVN库的管理原则:

1、项目负责人和版本管理员负责架构项目目录结构,包括配置文件、第三方JAR文档

2、项目负责人分配开发人员目录权限,由版本管理员负责实施,权限分配粒度要细

3、trunk,tags,branches,项目负责人、协同版本管理员构建tags和branches

4、版本管理员负责解决开发人员在开发过程中的有关版本问题

5、开发人员每次修改,或者新增、删除、拷贝工作区对象后,应该立刻提交到版本库,有效保持工作区与资源库的高度一致,每天下班之前提交、(更新)

6、开发人员在每次修改工作区中代码或者文档时,首先更新该对象,可以尽量减少冲突、合并

7、保证提交到的版本库的代码没有BUG以免影响开发组,可以适当利用加锁机制,减少冲突

8、项目负责人和版本管理员负责软件的测试版,构建测试环境,branches由版本管理员进行(checkout)

9、项目负责人和版本管理员负责发布软件的发布版,与系统部协调构建发布环境(export)

10、版本管理员负责清理有关不需要的branches,tags。本节关于SVN库的目录结构讲解完毕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: