我在 SubVersion 中有很多项目都svn:externals
引用了一个核心项目(假设它们有一个 svn:externals 属性指向一个本地路径/Components
)http://svn/repos/core_components
。
现在,我想获取一个包含对该核心项目的 svn:externals 引用的所有项目/文件夹的列表。是否有 SVN 命令/脚本/工具来执行此操作?(我在 Windows 上)
如果您的外部定义分散在存储库树中 - 您将有一个糟糕的一天(tm):您必须递归地遍历每个存储库中的所有节点,对于 Windows 而言,这不是一项简单的任务。
对于递归测试 repo-tree 添加-R
选项到使用的命令
如果您在 repo 中的所有外部都有共同的地方(root /of trunk/ 是很好的候选者),您可以使用
svn propget svn:externals
(只检查一个属性)
或者
svn proplist -v
(获取所有具有值的属性)
你会得到 grepable 输出(或者在 propget 和缺少外部的情况下没有)
样品:
>svn propget svn:externals
https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib
>svn proplist -v
Properties on '.':
svn:externals
https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib
>svn propget svn:externals -R
tags\1.0.1 - -r 2 https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib@2 lib
trunk - https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib
>svn propget svn:externals