对于许多自动化工具, 从Subversion存储库中检索信息到某些东西是必需的。这些基本的事情之一是必须列出主存储库或其子文件夹之一中的所有目录。使用svn list指令并定义立即数的深度即可轻松完成, 该指令仅列出给定存储库URL的第一级:
svn list REPOSITORY_URL -R --depth=immediates
例如, 给定以下存储库, 其中包含一些文件夹, 则下一条命令:
svn list svn+ssh://user@serverdomain.com/var/www/vhosts/myrepository -R --depth=immediates
将列出控制台上第一级的所有目录条目, 如以下输出所示:
first_folder/
second_folder/
third_folder/
fourth_folder/
请注意, 这将在CLI中发生, 因此你可以从另一种编程语言中使用它, 展开换行符并接收带有目录名称的数组。值得一提的是, 你还可以使用–depth参数递归列出其他级别, 该参数指示Subversion将操作范围限制为特定的树深度。此参数可以有4个可能的值:
- 空(仅目标本身)
- 文件(目标及其任何直接子文件)
- 直属(目标及其任何直系子代)
- 无限(目标及其所有子代-完全递归)。
因此, 例如, 如果你要列出一个路径的所有目录(和子目录), 可以将参数更改为infinity:
svn list svn+ssh://user@serverdomain.com/var/www/vhosts/myrepository -R --depth=infinity
编码愉快!
评论前必须登录!
注册