避免外部SVN递归签出

避免外部SVN递归签出,svn,svn-externals,Svn,Svn Externals,我有一个超级项目,它svn:externals其他几个项目。它们依次svn:external它们自己的依赖关系。我的一个问题是,我的依赖关系通常依赖于相同的svn:external(公共库),这会导致大量重复的签出和构建 当我签出或更新我的主项目时,我想签出我的直接外部,但忽略它们的外部。我可以想象我可以在svn属性中设置它,但我还没有弄清楚如何设置。我会这样想象: $ svn propset svn:externals -r25 http://svn.example.com/foo/trunk

我有一个超级项目,它
svn:externals
其他几个项目。它们依次
svn:external
它们自己的依赖关系。我的一个问题是,我的依赖关系通常依赖于相同的
svn:external
(公共库),这会导致大量重复的签出和构建

当我签出或更新我的主项目时,我想签出我的直接外部,但忽略它们的外部。我可以想象我可以在svn属性中设置它,但我还没有弄清楚如何设置。我会这样想象:

$ svn propset svn:externals -r25 http://svn.example.com/foo/trunk foo --ignore-externals
Subcommand 'propset' doesn't accept option '--ignore-externals'
Type 'svn help propset' for usage.

有没有其他方法可以避免签出External中的External<代码>--depth实际上不起作用,因为我的父存储库或中间存储库中的文件夹结构的深度是任意的,因此您无法使用该命令可靠地筛选出外部内容。

您有没有发现这一点?如果是这样的话,我会很感激知道我有类似的问题。不,还没有解决方案。我不得不接受低级别解决方案的多次签出。您当前的问题是,任何以
-
开头的内容都会被propget命令视为一个选项(因此不会存储在外部数据库中)。您还缺少应该获取属性的项目的路径(可能是“
”)。您可以使用
--
告诉propget停止处理选项,因此
svn propset--svn:externals“-r25/path/to/external my external”。
应该可以工作(并将-r25存储在属性中)。然而,你想要的东西的另一部分根本不受外部支持——你不能限制外部的深度,或者忽略外部。