svn下载目录深度控制

subversion仓库上有很多代码及文档,如果全部下载,则下载时间很长,所需硬盘空间很大。 如果分开下载,则其目录结构经常会因自己创建失误出错,在编译时会找不到依赖库等。

如何解决这个问题呢? 通过深度控制参数来下载和更新代码

1. 顶层代码通过以下命令来下载

::

svn co http://code.taobao.org/svn/renkou –depth immediates

这样可以签出到顶层目录所有,如果需要再更新下一层目录的代码,则进行指定目录进行up操作

注意使用了参数”–depth immediates”, 这样设置工作副本的深度, 可以下载到当前目录文件和目录。不包含目录下文件。

2. 下载子目录文件

cd trunk/
svn up --set-depth infinity

注意, 这样可以修改工作副本的深度,使用 –set-depth选项。

3. 深度控制选项

“–depth”实际的深度,受设置的深度约束。

“–set-depth”选项来控制深度,深度通常为以下四个之一:

  • infinity,表示无限深,

  • immediates,当前目录和文件。

  • empty,表示只保留顶层目录,不要其下的文件和目录。

  • files, 表示只保留该目录下的文件,不要下面的子目录。

还有一个,是排除一个子目录

  • exclude,排除某个目录