如何进行任意结构化的稀疏结账

时间:2016-10-18 08:28:18

标签: svn sparse-checkout

我的项目目录结构如下:

project
|--source
|--fgh
|--...
|--ijk
`--tests
   |--abc
   |--cde
   |--...
   |--utils

我想检查sourcetests/utils目录(以及递归内的所有内容)。剩余目录(例如abccde,...)不应该被检出,因为它们很大。

我认为svn co --depth empty是我正在寻找的。但是,如果结帐结束后tests/utils不存在,如何仅结帐test

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上 - 这样做:

svn co [REPO-URL] --depth emtpy
svn up [PROJECT]/source --depth infinity
svn up [PROJECT]/tests --depth empty
svn up [PROJECT]/tests/utils --depth infinity

修改: LazyBadger认为&{34; --set-depth svn up将采用更正确的方式"。好吧,SVN documentation非常明确地指出--set-depth选项(强调我的):

  

使用此选项,您可以更改工作副本项的粘性深度。

但是在这种情况下,我们不会更改任何以前签出的工作副本项目 - 我们正在逐步构建(稀疏)工作副本。那么为什么--set-depth会更正确呢?它不是。但为了完整起见,如果您想再输入一点,您也可以这样做:

svn co [REPO-URL] --depth emtpy
svn up [PROJECT]/source --set-depth infinity
svn up [PROJECT]/tests --set-depth empty
svn up [PROJECT]/tests/utils --set-depth infinity