如何进行任意结构的稀疏结帐
How to do an arbitrarily structured sparse checkout
我有一个目录结构如下的项目:
project
|--source
|--fgh
|--...
|--ijk
`--tests
|--abc
|--cde
|--...
|--utils
我想检查 source
和 tests/utils
目录(以及递归地检查其中的所有内容)。其余目录(如 abc
、cde
、...)不应检出,因为它们很大。
我认为 svn co --depth empty
是我要找的。但是,如果结帐完成后 test
不存在,如何仅结帐 tests/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
编辑: LazyBadger is arguing that "--set-depth
for svn up
will be more correct way". Well, the SVN documentation 非常清楚地说明 --set-depth
选项(强调我的):
It is with this option that you can change the sticky depth of a working copy item.
但是在这种情况下,我们不会更改任何以前签出的工作副本项目 - 我们正在逐步从头开始构建(稀疏)工作副本。那么为什么 --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
我有一个目录结构如下的项目:
project
|--source
|--fgh
|--...
|--ijk
`--tests
|--abc
|--cde
|--...
|--utils
我想检查 source
和 tests/utils
目录(以及递归地检查其中的所有内容)。其余目录(如 abc
、cde
、...)不应检出,因为它们很大。
我认为 svn co --depth empty
是我要找的。但是,如果结帐完成后 test
不存在,如何仅结帐 tests/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
编辑: LazyBadger is arguing that "--set-depth
for svn up
will be more correct way". Well, the SVN documentation 非常清楚地说明 --set-depth
选项(强调我的):
It is with this option that you can change the sticky depth of a working copy item.
但是在这种情况下,我们不会更改任何以前签出的工作副本项目 - 我们正在逐步从头开始构建(稀疏)工作副本。那么为什么 --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