zoukankan      html  css  js  c++  java
  • svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出

    对于一个大的版本库来说,本地工作目录签出整个目录树是即费时又占地儿的。
    虽然可以只签出某个子目录树,但有时候还是需要从根目录签出。
    那么,怎么才能只把自己感兴趣的子目录签出来呢?

    从svn1.5版开始,提供了稀疏目录(Sparse Directories)功能,允许对目录设置深度(depth),
    这个设置可以保存在工作目录上,以后svn update等命令都在这个设置下工作。

    有以下几种depth可以选择:

    --depth empty:只包含目录自身,不包含目录下的任何文件和子目录。
    --depth files:   包含目录和目录下的文件,不包含子目录。
    --depth immediates:  包含目录和目录下的文件及子目录。但不对子目录递归。
    --depth infinity:  这是默认的,包含整个目录树。


    例如,版本库有
    trunk
    branches
    tags

    branches下有很多子目录,b1,b2,b3....
    本地希望签出trunk和b2,不关心b1和b3,那么可以这样操作:
    1 使用--depth immediates签出根目录,这样会得到trunk,branches,tags三个空目录。
    2 使用--depth infinity签出trunk,这样会得到trunk整个目录树。
    3 使用--depth immediates签出branches,这样会得到b1,b2,b3....等空目录
    4 使用--depth infinity签出b2,这样会得到b2整个目录树。

    当执行svn update /的时候,不会把不关心的b1,b3签出的,因为depth已经"记忆"在工作目录上了。

    当其他人向版本库里提交了branches/bx后,可以
    使用--depth immediates签出branches,这样工作目录会增加bx空目录,而不会影响b1,b2,b3...。
    再使用--depth infinity签出bx,即可。

    另外,svn up有个参数--set-depth,可以修改保存在工作目录上的depth。

  • 相关阅读:
    LeetCode(287)Find the Duplicate Number
    LeetCode(290) Word Pattern
    LeetCode(205)Isomorphic Strings
    LeetCode(201) Bitwise AND of Numbers Range
    LeetCode(200) Number of Islands
    LeetCode(220) Contains Duplicate III
    LeetCode(219) Contains Duplicate II
    命令行执行Qt程序
    LeetCode(228) Summary Ranges
    redis 的安装和使用记录
  • 原文地址:https://www.cnblogs.com/liqing1009/p/6479629.html
Copyright © 2011-2022 走看看