`
jetsuper
  • 浏览: 4379 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于SVN资源库的一些思考

    博客分类:
  • 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

转:http://www.svn8.com/svnpz/20080409/496.html
分享到:
评论

相关推荐

    360Lib学习资料与测试报告(9.13)

    1. **360Lib平台**:360Lib是一个专门设计用于360度全景视频处理的软件库。它包含了各种编码和解码算法,可以进行全景视频的压缩和还原,同时提供了丰富的功能,如视频拼接、去噪、色彩校正等,以适应不同场景下的...

    jaas-in-action-code

    此外,还可以看到作者在编写代码时的一些思考和未完成的工作,这对于学习和理解JAAS的实际应用非常有帮助。同时,由于涉及到C++的"必知必会"标签,可能表明JAAS的概念也适用于其他语言的安全模型,尽管实现机制可能...

    Home Download Documentation Weblog Community Code

    这表明该文档可能包含了一些与 SVN 版本相关的特性或变更说明。同时,文档还提供了对旧版本(如 Django 1.0)的链接,这对于使用旧版本的开发者来说非常有用。 #### 2.2 文档组织结构 文档中包含了多个部分:首页...

    大型金融互联网产品Devops实践.pptx

    例如,Papp SVN 1和2等构建服务器,以及制品库组件配置,确保了不同阶段的协同工作和一致性。 总的来说,Devops实践在大型金融互联网产品中发挥着至关重要的作用,它不仅优化了开发流程,提升了团队效率,还强化了...

    spring2-aop.pdf

    本书还指出,通过EasyJF开源交流社区的论坛和SVN仓库可以得到更多的学习资源和案例更新,以确保读者能接触到最新的Spring技术。作者还提供了自己的邮箱,以便读者提出反馈和建议。 综上所述,本书对Spring和AOP的...

    SourceInsight 3.5安装包和序列号,win10可用

    确保你的计算机已连接到互联网,因为安装过程中可能需要访问网络资源。 2. 双击解压后的安装程序,启动SourceInsight 3.5的安装向导。按照提示逐步操作,通常包括接受许可协议、选择安装路径、设置自定义选项等步骤...

    桌面快捷书架--附vc6源码

    "作者留言.txt"可能包含开发者对项目的一些说明、使用提示或者开发过程中的思考,对于理解软件的设计理念和使用方法有一定帮助。“DesktopBookFrame”可能是项目的主程序或核心类库,根据VC6的开发习惯,这可能是...

    VC++6游戏编程入门及源码

    在VC++6环境下,开发者需要理解和运用DirectX库,这是微软为游戏开发提供的一个底层接口,包括DirectDraw(用于2D图形)、Direct3D(用于3D图形)、DirectInput(用于输入设备)等组件。 3. **DirectX编程**:...

    alexbob17:我的个人资料库

    标题“alexbob17:我的个人资料库”暗示了这是一个个人资料集合,可能是某人的学习资源、项目代码或者个人信息存储。尽管没有提供具体的标签,我们可以假设这个压缩包可能包含了与编程、个人发展或者兴趣爱好相关的...

    C#.net面试题大全

    以下是一些重要的C#.NET面试知识点,涵盖了初级到高级的各个方面。 1. **C#基础语法**:理解变量、数据类型、运算符、控制流(如if-else,switch,循环)以及函数的基本使用。了解命名空间和类的概念,理解面向对象...

    t淘淘商城项目 商城项目 视频和源码教程 详细

    -- 资源文件拷贝插件 --&gt; &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-resources-plugin &lt;version&gt;2.7 &lt;encoding&gt;UTF-8 &lt;!-- java编译插件 --&gt; &lt;groupId&gt;org.apache.maven....

    Programming-Assignment-1-Rhys-Saunders:作业1进行编程

    这个标题表明这是一个关于编程作业的项目,由Rhys Saunders完成,可能是某个课程或学习计划的一部分。"作业1"暗示这是一个系列任务的起始部分,通常旨在帮助学生建立基础,理解编程概念,并逐步提升技能。标题中的...

Global site tag (gtag.js) - Google Analytics