单个svn:externals属性中的多个目录

时间:2012-12-14 14:55:10

标签: svn

假设我有svn存储库A,其中包含一堆目录: 行李箱/ DIR1 行李箱/ DIR2 行李箱/ DIR3 ...

我想在存储库B中使用这些目录的一个子集。一种方法是设置一个svn:externals属性,它只会引入所有A:A https://path/to/A/trunk

因为我只想要这些目录的子集,所以我宁愿带来我需要的东西。这很好 - 我可以将属性设置为只引入说dir1和dir2

dir1 https://path/to/A/trunk/dir1
dir2 https://path/to/A/trunk/dir2

这就是我想要的,当A包含我不想要的大量目录时,它似乎确实使我的结账更快。我注意到的是,当我去做一个svn更新(特别是当A中没有实际更新)时,这需要更长的时间,因为它必须检查svn:externals属性中列出的每个目录,看看是否修改已经改变了...当我在整个主干中svn:externals时,svn更新更快,因为它只需要检查一个目录。

实际上我正在寻找的是一些语法,它代表我想要多个子目录但是因为它们都是子目录,svn只需要检查修订历史一次。从理论上讲,这样的事情:

dir1,dir2 https://csdrepos/path/to/A/trunk/dir1,dir2

我找不到像这样的语法的引用......有没有办法做到这一点?有关如何加速我的svn更新而不需要svn:厨房水槽中的外部和减慢我的初始结账的任何其他提示?我无法真正重新组织A的目录结构,因为不同的repos将需要A的目录的不同子集。

1 个答案:

答案 0 :(得分:0)

考虑到您的评论,最有效的解决方案似乎将外部包含在“特殊”文件夹中(例如/ ext)

然后将符号链接添加到所需位置的/ ext中的相关文件夹中。

结果只是一次“外部”下载,只有相关目录在您想要的地方混乱了您的商家信息。