• 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/

  • 相关阅读:
    来实现一个缩水版Vuex
    vue中的适配:px2rem
    Vue.js的复用组件开发流程
    Vue调试神器之Vue.js devTools
    浅析Vue响应式原理(三)
    逐行粒度的vuex源码分析
    vue源码解读-目录结构
    Vue源码探究-虚拟DOM的渲染
    利用hash或history实现单页面路由
    passive的作用和原理
  • 原文地址:https://www.cnblogs.com/jacklondon/p/step_to_create_release_or_branch_with_svn.html
Copyright © 2020-2023  润新知