0

我在 SubVersion 中有很多项目都svn:externals引用了一个核心项目(假设它们有一个 svn:externals 属性指向一个本地路径/Componentshttp://svn/repos/core_components

现在,我想获取一个包含对该核心项目的 svn:externals 引用的所有项目/文件夹的列表。是否有 SVN 命令/脚本/工具来执行此操作?(我在 Windows 上)

4

1 回答 1

1

如果您的外部定义分散在存储库树中 - 您将有一个糟糕的一天(tm):您必须递归地遍历每个存储库中的所有节点,对于 Windows 而言,这不是一项简单的任务。 对于递归测试 repo-tree 添加-R选项到使用的命令

如果您在 repo 中的所有外部都有共同的地方(root /of trunk/ 是很好的候选者),您可以使用

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

  • 带有外部路径的非递归详细 proplist

>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

于 2013-01-08T16:52:38.043 回答