Windows SVN:列出响应中所有项目的所有分支
我有SVN存储库设置,它有大约15个不同的项目。每个项目都有类似的结构,即Windows SVN:列出响应中所有项目的所有分支,windows,svn,branch,Windows,Svn,Branch,我有SVN存储库设置,它有大约15个不同的项目。每个项目都有类似的结构,即 ProjectOne/ tags/ branches/ trunk/ 现在,我想做的是以某种方式列出存储库中所有项目的所有分支。 有没有一个命令或什么我可以用来做这件事?还是以编程方式进行是这里唯一的选择 没有命令。因为您已经知道存储库和项目的URL,所以只需像下面的svn info那样运行它https://svn.example.com/MyProject1
ProjectOne/
tags/
branches/
trunk/
现在,我想做的是以某种方式列出存储库中所有项目的所有分支。
有没有一个命令或什么我可以用来做这件事?还是以编程方式进行是这里唯一的选择 没有命令。因为您已经知道存储库和项目的URL,所以只需像下面的svn info那样运行它https://svn.example.com/MyProject1/branches
您可以使用PowerShell将其自动化。这里有两个粗略的例子
- 用于自动运行
:svn列表
$repos = "MyProject1", "MyProject2", "MyProject3", "MyProject4", "MyProject5" $rootURL = "https://svn.example.com/" foreach ($repo in $repos) { Write-Host -ForegroundColor Cyan "Repository: $rootURL/$repo `nBranches:" svn list $rootURL/$repo/branches }
- 使用并解析输出。您可以自定义命令以获取最新版本、作者以及日期和时间
$repos = "MyProject1", "MyProject2", "MyProject3", "MyProject4", "MyProject5" $rootURL = "https://svn.example.com/" foreach ($repo in $repos) { Write-Host -ForegroundColor Cyan "Repository: $rootURL/$repo `nBranches:" ([xml](svn list $rootURL/$repo/branches --xml)).SelectNodes("//lists/list/entry").Name }
请注意,两个脚本示例将仅显示HEAD(即最新)版本中存在的分支。我相信这就是您要寻找的答案:
svn ls URL-OF-REPO
要查找回购URL(如果您还不知道),可以使用:
svn info .
在“当前”SVN目录中
或者,更复杂的是,您也可以通过CLI将输出编程为regex URL,如另一篇文章中所建议的:
svn info | grep URL | sed 's/URL: //g'
有关更多信息,请参阅这些其他StackOverflow帖子。希望这有帮助