`
cppmule
  • 浏览: 448301 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

常用SVN目录结构简明介绍

    博客分类:
  • SCM
 
阅读更多

本节向大家简单介绍一下一些常用的SVN目录结构,在学习SVN的过程中,你可能会遇到SVN目录结构问题,在这里和大家共同学习一下,希望本文对你的学习有所帮助。
特殊目录名说明
trunk主干,存储最新稳定版本
tag标记,主要保存比较完整理的版本标记,类似里程碑
tranch分支,用于分工操作.该目录下又以各用户名及日期为目录进行存储(推荐)
关于目录(结构举例,相对规范)
/doc文档的根目录
/doc/trunk文档的版本主干,存储最新稳定版本
/doc/trunk/...(内容)
/doc/tag文档的版本标志(类似里程碑)例如:doc_1_0/doc_1_1分别表是1.0本版与1.1版本
/doc/tag/doc_v_1_0/...(内容)
/doc/tag/doc_v_1_1/...(内容)
/doc/branch文档的分支目录(用户分工)
/doc/branch/user1_070308文档的分支目录用户(user1)于2007-03-08号加入分工
/doc/branch/user1_070308/...(内容)
/doc/branch/user2_070101文档的分支目录用户(user2)于2007-01-01号加入分工
/doc/branch/user2_070101/...(内容)
/src源码的根目录
/src/trunk源码的版本主干,存储最新稳定版本
/src/trunk/...(内容)
/src/tag源码的版本标志(类似里程碑)例如:doc_1_0/prj_src_1_1分别表是1.0本版与1.1版本
/src/tag/prj_src_v_1_0/...(内容)
/src/tag/prj_src_v_1_1/...(内容)
/src/branch源码的分支目录(用户分工)
/src/branch/user1_070308源码的分支目录用户(user1)于2007-03-08号加入分工
/src/branch/user1_070308/...(内容)
/src/branch/user2_070101源码的分支目录用户(user2)于2007-01-01号加入分工
/src/branch/user2_070101/...(内容)
Subversion有一个很标准的SVN目录结构,是这样的。
比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是
svn://proj/|
+-trunk
+-branches
+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
对于这几个开发目录,一般的使用方法有两种。我更多的是从软件产品的角度出发(比如freebsd),因为互联网的开发模式是完全不一样的。
第一种方法,使用trunk作为主要的开发目录。

一般的,我们的所有的开发都是基于trunk进行开发,当一个版本/release开发告一段落(开发、测试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。当下一个版本/阶段的开发任务开始,继续在trunk进行开发。
此时,如果发现了上一个已发行版本(ReleasedVersion)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(DevelopingVersion)无法满足时间要求,这时候就需要在上一个版本上进行修改了。应该基于发行版对应的tag,做相应的分支(branch)进行开发。
例如,刚刚发布1.0,正在开发2.0,此时要在1.0的基础上进行bug修正。
按照时间的顺序
1.0开发完毕,代码冻结
基于已经冻结的trunk,为release1.0打tag
此时的SVN目录结构为
svn://proj/
+trunk/(freeze)
+branches/
+tags/
+tag_release_1.0 (copyfromtrunk)
2.0开始开发,trunk此时为2.0的开发版
发现1.0有bug,需要修改,基于1.0的tag做branch
此时的SVN目录结构为
svn://proj/
+trunk/(dev2.0)
+branches/
+dev_1.0_bugfix(copyfromtag/release_1.0)
+tags/
+release_1.0 (copyfromtrunk)
在1.0bugfixbranch进行1.0bugfix开发,在trunk进行2.0开发
在1.0bugfix完成之后,基于dev_1.0_bugfix的branch做release等
根据需要选择性的把dev_1.0_bugfix这个分支merge回trunk(什么时候进行这步操作,要根据具体情况)
这是一种很标准的开发模式,很多的公司都是采用这种模式进行开发的。trunk永远是开发的主要目录。请期待下节关于SVN目录结构介绍。

分享到:
评论

相关推荐

    常用项目SVN目录结构

    SVN(Subversion)是一种广泛使用的集中式版本控制系统,本文将深入探讨“常用项目SVN目录结构”这一主题。 首先,理解SVN目录结构的重要性在于它规范了团队的工作流程,确保代码的一致性和可维护性。一个良好的SVN...

    SVN目录结构说明

    ### SVN目录结构说明 #### 一、概述 在软件开发过程中,版本控制系统是不可或缺的工具之一,它能够帮助团队管理代码的变化历史,并有效地协同工作。Subversion(SVN)作为一款开源版本控制系统,在众多项目中得到...

    常见项目svn目录结构

    一个规范化的项目SVN目录结构对于团队协作至关重要,因为它有助于保持代码的整洁、有序,并促进有效的版本控制。以下是关于“常见项目svn目录结构”的详细说明: 1. **根目录(trunk)**: - `trunk`是主开发分支...

    SVN的标准目录结构:trunk、branches、tags

    SVN 标准目录结构:trunk、branches、tags SVN(Subversion)是一种版本控制系统,广泛应用于软件开发和项目管理中。在 SVN 中,标准目录结构是指 trunk、branches、tags三个目录,这三个目录反映了软件开发的通常...

    svn目录结构权限设置

    本文将深入探讨svn的权限设置以及本地库目录结构的设计。 首先,svn的权限设置主要通过两种方式实现:一是svnserve配置,二是通过HTTP/HTTPS协议(Apache或IIS)进行WebDAV访问。这里我们主要关注svnserve的权限...

    SVN目录详细设计教程.rar

    以下是对SVN目录结构和使用方法的深入探讨。 1. **SVN基本概念** - **版本库(Repository)**:SVN的核心存储区域,保存所有文件和目录的历史版本。 - **工作副本(Working Copy)**:用户在本地电脑上的项目副本...

    svn目录使用规范.doc

    **一、SVN目录结构** 在使用SVN(Subversion)进行版本控制时,遵循一种标准的目录结构有助于保持代码库的整洁和有序。这种结构通常包括三个主要部分:`trunk`、`branches`和`tags`。 1. **trunk**:这是主分支,...

    SVN项目文件夹结构指南(附所有目录结构一键生成)

    SVN项目文件夹结构指南,把里面的createdoc.txt改名为createdoc.bat后在windows下运行,所有目录结构自动生成在当前目录下,各企业的项目根据实际情况来修改,本目录适合中小型企业。

    svn-doc文件夹结构.rar

    本资源“svn-doc文件夹结构.rar”似乎包含了一份关于个人如何组织SVN目录结构的文档或示例。虽然描述提到“各人喜好”,但良好的SVN目录结构对于项目管理和团队协作有着显著的影响。 在Java开发环境中,使用SVN进行...

    删除项目中的SVN目录

    描述中提到的“简单的删除.svn文件的小程序”是一种自动化工具,可能是用某种编程语言(如Python、批处理脚本等)编写,它的主要功能是遍历项目文件夹,查找并移除所有.svn子目录,从而简化项目文件结构,方便进行...

    svn目录清理脚本

    标题 "svn目录清理脚本" 涉及到的知识点主要集中在版本控制系统Subversion(简称SVN)的管理和清理操作上。SVN是一种广泛使用的版本控制系统,它允许开发者跟踪和控制源代码的变化,便于团队协作。在开发过程中,每...

    清楚svn目录下生成的.svn文件夹

    - **使用脚本**:提供名为“清楚当前目录下的.svn信息.bat”的批处理文件,可以批量删除当前目录及其子目录下的`.svn`文件夹。在Windows环境下,可以通过以下命令实现: ``` for /r %i in (.svn) do @rd /s /q "%...

    SVN中文教程 SVN简明教程 SVN学习笔记

    - "SVN简明教程"可能包含基础操作的快速指南,适合初学者快速入门。 - "SVN中文教程"可能涉及更深入的用法,包括高级特性及实践案例。 - 学习笔记通常包含个人理解和实践总结,可能涵盖一些实用技巧和常见问题...

    Eclipse安装SVN插件方式简明介绍.txt

    在学习SVN的过程中,你有可能会遇到Eclipse安装SVN插件问题,在这里我们简单介绍一下Eclipse安装SVN插件的方式,希望对你有用。

    svn常用命令介绍

    在一个新的目录下创建一个SVN仓库,这将生成一个包含所有必需文件的目录结构。 2. **导入项目(svn import)**: 将本地文件或目录导入到SVN仓库中,此操作不设置工作副本。 3. **检出(svn checkout)**: ...

    删除svn目录内.svn目录及内容的方法汇总

    标题 "删除svn目录内.svn目录及内容的方法汇总" 涉及的是版本控制系统Subversion(简称SVN)的管理技巧。在使用SVN时,`.svn` 目录是Subversion存储元数据的地方,包括版本信息、工作副本状态等。然而,在某些情况下...

    实例方式讲解svn目录权限设置

    svn目录权限设置详解 随着软件开发的日益复杂,版本控制系统的重要性变得更加明显。Subversion(SVN)是一种流行的版本控制系统,能够帮助开发者 efektively 管理项目的版本变更。但是,SVN的权限设置一直是开发者...

    windows 下一键清空SVN目录

    在Windows环境下,对SVN(Subversion)目录进行一键清空操作主要涉及到版本控制系统的基本管理。SVN是一种广泛使用的集中式版本控制系统,用于管理和跟踪项目文件的修改历史。当你需要清空SVN工作副本(即本地目录)...

    根据SVN的更新日志导出部署目录结构的更新文件

    根据SVN更新日志,结合eclispse/或其他IDE工具导出war包解压出来就是部署的目录结构了;再把开发的工具和解压的全量更新文件以及导出的SVN更新日志放在同级目录,利用插件把SVN更新日志的增量更新文件提取生成同部署...

    SVN改进对中文目录结构的支持

    authz.conf 文件在默认情况下对权限的控制是不支持中文的,如果采用中文目录结构则需要修改代码库的 authz.conf 文件。

Global site tag (gtag.js) - Google Analytics