`

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

SVN 
阅读更多

我们在一些著名开源项目的版本库中,通常可以看到trunk, branches, tags等三个目录。由于SVN固有的特点,目录在SVN中并没有特别的意义,但是这三个目录却在大多数开源项目中存在,这是因为这三个目录反映了软件开发的通常模式。

trunk是主分支,是日常开发进行的地方。

branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。

tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

比如一个项目有main.cpp, common.h两个文件,假设目前在开发的是最新的3.0版本,而且1.0/2.0版本也在进行维护,那么项目树将类似如下样子:

project
  |
  +-- trunk
  +     |
  +     +----- main.cpp  (3.0版本的最新文件)
  +     +----- common.h
  +
  +-- branches
  +     |
  +     +-- r1.0
  +     +     |
  +     +     +---- main.cpp (1.x版本的最新文件)
  +     +     +---- common.h
  +     +
  +     +-- r2.0
  +           |
  +           +---- main.cpp (2.x版本的最新文件)
  +           +---- common.h
  +     
  +-- tags   (此目录只读)
        |
        +-- r1.0
        +     |
        +     +---- main.cpp (1.0版本的发布文件)
        +     +---- common.h
        +
        +-- r1.1
        +     |
        +     +---- main.cpp (1.1版本的发布文件)
        +     +---- common.h
        +
        +-- r1.2
        +     |
        +     +---- main.cpp (1.2版本的发布文件)
        +     +---- common.h
        +
        +-- r1.3
        +     |
        +     +---- main.cpp (1.3版本的发布文件)
        +     +---- common.h
        +
        +-- r2.0
        +     |
        +     +---- main.cpp (2.0版本的发布文件)
        +     +---- common.h
        +
        +-- r2.1
              |
              +---- main.cpp (2.1版本的发布文件)
              +---- common.h


要使用这样的文件夹结构,在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录,再将项目文件夹连同这三个子目录一起导入版本库。

这样在trunk中开始进行开发,当需要建立branch或tag时,使用SVN的copy操作进行。

其中tags目录需要只读,可以使用SVN中的authz文件控制该目录的访问权限为只读。

分享到:
评论

相关推荐

    svn trunk branches tags

    在svn中,`trunk`、`branches`和`tags`是三个核心概念,它们各自承担着不同的角色,帮助团队有效地管理源代码。 1. **trunk**: `trunk`是主要的开发目录,它存储着项目的主线开发代码。开发人员日常的编码工作...

    SVN中的Branches分支以及Tags标签详解与应用举例

    为了便于创建分支和标签,通常将版本库的结构布置为:/branches,/tags,/trunk。分别代表分支、标签以及主干。 创建 Branch 分支或者 Tag 标签非常容易,只需要在 TortoiseSVN 中创建对应的文件夹,然后将其提交到 ...

    常见项目svn目录结构

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

    svn配置记录 附带:SVNService包

    3. **版本库结构**:解释SVN仓库的基本结构,如trunk、branches和tags,以及它们在开发流程中的作用。 4. **客户端配置**:如何使用像TortoiseSVN这样的图形化客户端进行SVN操作,包括检出、提交、更新、合并等。 ...

    常用项目SVN目录结构

    以上是一个标准SVN目录结构的概述,实际项目中可能根据团队习惯和项目需求进行调整。理解并遵循这样的目录结构,有助于保持项目的整洁和有序,从而提升团队的整体协作效率。在日常开发中,还应注意定期进行代码审查...

    SVN 主干(trunk)、分支(branch )、标记(tag)

    资源中有 SVN 主干(trunk)、分支(branch )、标记(tag) 的详细解释,和作用 并带 SVN分支与合并 的详细操作文档(附图)。 SVN分支与合并的总结 1.分支(branche)的创建。 1、分支创建是建立在主干上的。 2、创建...

    svn merge简单操作

    在本地创建一个名为`Testing`的目录,并在该目录下创建三个子目录:`branches`、`tags` 和 `trunk`。 - **创建示例文件夹**:在 `trunk` 目录下创建一个名为 `examples1` 的目录,并在此目录下添加一个文件 `hello....

    svn目录使用规范.doc

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

    UBUNTU下SVN的应用.doc

    本文将深入探讨在Ubuntu环境下SVN的标准目录结构、工作原理以及如何有效地使用它。 1. SVN的标准目录结构: - `trunk`:主分支,代表项目的主线开发,通常存放最稳定的代码。日常的开发工作都在这里进行。 - `...

    svn-doc文件夹结构.rar

    1. **标准目录结构**:在Java项目中,通常会遵循Maven或Gradle的标准目录结构。Maven的默认结构包括`src/main/java`(存放Java源代码),`src/main/resources`(放置非编译资源如配置文件),`src/test/java`(测试...

    SVN目录详细设计教程.rar

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

    svn拉分支合并文档

    * 每个子系统目录下分别有trunk(主干目录)、branches(分支目录)、releases(发布版本)、tags(存档目录) 创建开发分支: * 目前系统频繁有小需求,包括线上非紧要bug修复,导致经常需要打补丁到线上,造成...

    svn目录结构权限设置

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

    SVN版本控制方案

    以下是一个具体的SVN目录结构示例: - **LKBSVN目录结构**:`https://svn.quantgroup.cn/repos/lkb/develop_lkb/LKB_NEW20150228` - `/trunk`:LKB主干源码 - `/branches`:功能分支 - `LKB_20150301` - `LKB_...

    SVN源码库结构规范 V0.1.pdf

    2. SVN 管理层级别目录结构 SVN管理层目录在svnserve的-r参数中给出。这个目录是磁盘上的某文件夹目录。在这个目录里存放着所有SVN管理的源代码。SVN服务器中可以有一个或多个源码库,其中每一个SVN源码库是这个...

    Linux下SVN服务器的搭建与配置

    2. SVN的仓库结构:SVN的仓库结构包括 trunk、branches和tags三个部分,分别用于存储主干代码、分支代码和标签代码。 3. SVN的客户端操作:SVN的客户端操作包括checkout、update、commit、log等命令,用于从仓库中检...

    svn book chinese version

    SVN通过服务器端和客户端工具实现对文件和目录的历史版本追踪和管理。 #### SVN的工作原理 SVN的工作原理主要是通过一个中心服务器存储所有文件的最新版本以及历史版本。当用户提交更改时,这些更改会被保存到...

    svn实现软件版本控制

    3. 目录结构学习Apache开源项目:本知识点教导开发者如何参考Apache开源项目中的标准目录结构来构建自己的项目目录。标准布局通常包括trunk、branches和tags三个主要目录。 4. trunk目录:trunk是主开发目录,所有...

Global site tag (gtag.js) - Google Analytics