将SVN中具有svn:externals的所有项目获取到某个存储库

我在SubVersion有许多项目有一个svn:externals引用到一个核心项目(假设他们有一个svn:externals属性指向本地path/Componentshttp://svn/repos/core_components )。

现在,我想获得所有具有对该Core项目的svn:externals引用的项目/文件夹的列表。 有没有一个SVN命令/脚本/工具来执行? (我在Windows上)

如果你的外部定义分散在整个资源库树中,你将会有一个不好的一天(tm):你必须递归地遍历每个资源库中的所有节点,对Windows来说,这不是一个最简单的任务。 对于递归测试repo-tree,添加-R选项以使用命令

如果你在回购所有外部人有共同的地方(根/中继/是很好的候选人),你可以使用

svn propget svn:externals (只检查一个属性)

要么

svn proplist -v (获取所有带值的属性)

你会得到grepable输出(或没有propget和缺少外部的情况下)

样品:

  • 用于外部路径的非递归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

  • 与外部路径的递归propget

>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

  • 不带外部路径的非递归propget

>svn propget svn:externals