• SVN 创建发行版/分支版的步骤


    最近看了很多 Git 与 SVN 的比较,很多都说 SVN 做分支很慢,不知道是从何说起。有可能大家都不清楚,SVN 做分支的正确步骤,特此介绍一下。

    SVN 服务器后台使用 Berkeley DB 数据库进行数据保存。当前版本、发行版本、分支版本,在 SVN 客户端处中一般只是当成普通目录。SVN 客户端有很多种,客户端处数据如何保存,没有明确的说法。

    比如,SVN 版本库从客户端上看其根目录为:

    http://zhegui-svn/svn

    几个主要子目录为:

    1) 当前开发主线目录 http://zhegui-svn/svn/trunk/
    2) 之前正式发行版目录 http://zhegui-svn/svn/releases/
    3) 之前或现在各分支版目录 http://zhegui-svn/svn/branches/
    4) 每日构建目录 http://zhegui-svn/svn/builds/

    创建分支,或创建发行版,只是一个目录复制操作。由于SVN服务器端的数据是保存在 Berkeley DB 数据库里,因此,目录复制,在数据库层面,只是保存一条在某个目录下创建一个子目录,新的子目录的内容,等同于另一个目录的那个版本信息。

    那些认为 SVN 复制分支,需要复制整个目录里所有文件的人,或者说出“拉分支的时间较慢,因为拉分支相当于copy”之类话的,都可以从头学习数据库了。反正稍微熟悉一点数据库的一些基本概念的技术人员,都不会设计出“分支要在服务器上复制整个目录里所有文件”这么个逻辑来。

    以下是操作步骤举例(使用的 SVN 客户端工具软件是 TortoiseSVN ):

    之后选择目录复制的源头、源头目录版本(可以不用最新版,最新版可能有人新加了一个功能,还没做完)、目的地目录:

    上述截图中,将项目的主开发目录 http://zhegui-svn/svn/trunk/zhegui_print_upload 对应版本 29423 ,复制到 http://zhegui-svn/svn/releases/zhegui_print_upload-v3.0,即完成了发行版本的服务器上复制功能。一般再大的项目,都是秒级完成。



    实际的软件项目开发中,只有以下目录用得比较多: 

    1) 当前开发主线目录 http://zhegui-svn/svn/trunk/

    以下目录用得比较少: 

    2) 之前正式发行版目录 http://zhegui-svn/svn/releases/
    3) 之前或现在各分支版目录 http://zhegui-svn/svn/branches/
    4) 每日构建目录 http://zhegui-svn/svn/builds/

    这是因为,创建新发行版本,只是在 SVN 服务器上进行目录复制,相当于只是在Berkeley DB 数据库保存一条在某个目录下创建一个子目录,新的子目录的内容,等同于另一个目录的那个版本信息。

    那把这句话保存在一个文本文件中,也不费什么事。

    同理,每日构建目录的存在意义,也不大。

    另一方面,如果是软件产品类开发,有多个不同客户,可能分别进行 bug 修复,则仍有必要使用发行目录: 

    2) 之前正式发行版目录 http://zhegui-svn/svn/releases/

    希望以上介绍,能帮助到大家。

    ---------------------------------

    本文欢迎转载,转载请注明来源:https://www.cnblogs.com/jacklondon/

  • 相关阅读:
    js中的原生Ajax和JQuery中的Ajax
    this的用法
    static的特性
    时政20180807
    java compiler没有1.8怎么办
    Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)
    分词器
    [数算]有一个工程甲、乙、丙单独做,分别要48天、72天、96天完成
    一点感想
    解析Excel文件 Apache POI框架使用
  • 原文地址:https://www.cnblogs.com/jacklondon/p/step_to_create_release_or_branch_with_svn.html
Copyright © 2020-2023  润新知