zoukankan      html  css  js  c++  java
  • SVN签出部分文件

    需要解决的问题
    如下图所示,svn项目的trunk目录下有很多的文件夹。由于一个组或者部门共享一个trunk,建立代码结构之初,没有考虑按业务划分,或者业务之间有关联,导致这些文件夹所代表的代码可能不是同时属于一个业务,或者一个业务相关的代码分散在不同的文件夹之中。
    比如:文件夹Floder_[1,2,3,4]属于同一个业务Prj_A,Floder_[5,6,7]属于业务Prj_B,而Floder_[1-7]在trunk下是同等层次的目录。当前我只想查看Prj_A的相关代码,如果我把trunk都签出,固然是一种解决方法,但考虑到根目录trunk的大小,不想同时把Prj_B和其他业务的代码同时签出。所以我需要一个方法从一个大trunk目录下有区别性的签出部分代码,这些签出的代码组成本地的一个版本库,这些代码受该版本库统一管理。

    1

    解决方法
    在明确问题之后,用下面的方法签出代码来管理。以需要同时签出“svn://www.oksvn.com/oweb/cgi”和“svn://www.oksvn.com/oweb/cpp”为例。
    第一步:我先签出“svn://www.oksvn.com/oweb”这个大的目录,请注意下图“Checkout Depth”选项的值。我选择的是“Only this item”,也就是说我只签出该文件夹,但不签出该文件夹下的任何子文件或者子文件夹。
    这里顺带说下“Checkout Depth”各选项值所代表的含义:
    Fully recursive   :签出该文件夹下全部的元素;
    Immediate children,including folders:把当前文件夹下的子文件及子文件夹都签出,但签出的子文件夹是空的,子文件夹下的文件是不会签出的;
    Only this item    :只把当前文件夹签出,其中为空,不包含任何子文件及子文件夹;
    Only file children:只把当前文件夹下的直接子文件签出,其下的子文件夹(及其子文件)不签出;

    2
    3

    第二步:在签出的本地版本库文件中,使用SVN客户端的“Repo-brower”功能浏览版本库,然后在左侧的目录树中找到“cgi”文件夹,然后在其上点击右键,弹出菜单栏后,在菜单栏中使用“Checkout”功能。
    4
    5
    6 如上图所示,我们已经把“cgi”这个文件夹单独签出到本地版本库。再使用同样的方法我们把“cpp”签出。

    第三步:自此“cgi”和“cpp”两个文件夹就放在一个版本库中了,我们在当前的版本库中,使用“Update”或者“Commit”等命令可以同时对当前的两个文件夹起效。
    8
  • 相关阅读:
    vue 快速开发
    java 查es
    es filter 的使用
    es查询例子
    es的基本查询
    linux top命令VIRT,RES,SHR,DATA的含义
    Redis和MC的对比
    决TIME_WAIT过多造成的问题
    MariaDB yum 安装
    more 命令相关
  • 原文地址:https://www.cnblogs.com/motadou/p/1915353.html
Copyright © 2011-2022 走看看