如何使用svn中的属性进行条件检出?

时间:2009-02-11 00:52:21

标签: svn version-control properties svn-checkout

是否有可能根据svn版本文件的属性从回购中签出?那将是一种特殊的稀疏结账。例如,仅签出带有“svn:corelib”==“yes”的文件。

或者只是签出整个仓库并在以后删除不需要的文件的唯一机会?例如,使用一个脚本为每个文件提取带有“svn propget svn:corelib”的道具并检查数据?

(第三个选项当然只是将corelib文件和noncorelib文件的回购分开。)

2 个答案:

答案 0 :(得分:1)

从阅读http://svnbook.red-bean.com/en/1.5/svn.advanced.props.html开始,Subversion似乎不能这样做:-(您可能需要手动搜索存储库中的所有文件以获取具有属性集的列表检查那些。

如果将corelib和非corelib文件放在单独的存储库中,或者甚至将同一存储库中的目录树分开是合理的,那几乎可以肯定是最好和最有效的解决方案。

答案 1 :(得分:0)

您可以查询文件的属性,而无需检查它。您可以在shell脚本中使用此功能,该脚本收集要检出的文件的名称。

列出属性:

svn proplist http://repo/path/to/file

获取特定属性的值:

svn propget svn:corelib http://repo/path/to/file

如果propget对于没有所请求属性的文件,则会得到一个空字符串。