Svn 如何执行任意结构的稀疏签出

Svn 如何执行任意结构的稀疏签出,svn,sparse-checkout,Svn,Sparse Checkout,我有一个目录结构如下的项目: project |--source |--fgh |--... |--ijk `--tests |--abc |--cde |--... |--utils svn co [REPO-URL] --depth emtpy svn up [PROJECT]/source --depth infinity svn up [PROJECT]/tests --depth empty svn up [PROJECT]/tests/utils --dep

我有一个目录结构如下的项目:

project
|--source
|--fgh
|--...
|--ijk
`--tests
   |--abc
   |--cde
   |--...
   |--utils
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
我想签出
测试/utils
目录(以及其中的所有内容)。剩余目录(如
abc
cde
,…)太大,不应签出


我想我要找的是svn公司的深度空。但是,如果签出后
tests
不存在,那么如何只签出
tests/utils

您走对了方向-按如下方式执行:

project
|--source
|--fgh
|--...
|--ijk
`--tests
   |--abc
   |--cde
   |--...
   |--utils
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
Edit:认为“
--为
svn up设置深度将是更正确的方法”。好的,SVN非常清楚地说明了
--set depth
选项(emphasis mine):

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

但是在这种情况下,我们不会更改任何以前签出的工作副本项—我们正在从头开始逐步构建(稀疏)工作副本。那么为什么
--设置深度
会更正确呢?事实并非如此。但为了完整性,如果您想再键入一点,您还可以执行以下操作:

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

但是,好吧,
--为
svn up设置深度
会更正确。谢谢你的回答,我的方法中缺少了
svn up[PROJECT]/测试--depth empty
位。但现在它似乎是合乎逻辑的。JFYI:Dry theory from(“how and why?”)