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。

  • 相关阅读:
    hdu1430 魔板(康拓展开 bfs预处理)
    网络流EdmondsKarp算法模板理解
    poj3020 建信号塔(匈牙利算法 最小覆盖边集)
    bzoj 2465 小球
    bzoj 1822 冷冻波
    bzoj 1040 骑士
    Codeforces Round #460 (Div. 2)
    bzoj 1072 排列perm
    Codeforces Round #459 (Div. 2)
    bzoj 1087 互不侵犯King
  • 原文地址:https://www.cnblogs.com/liqing1009/p/6479629.html
Copyright © 2011-2022 走看看