从命令行确定哪些文件夹被 svn 了

从命令行确定哪些文件夹被 svn 了

我有一个文件夹,其中包含一组文件夹,这些文件夹本身是不同项目的根目录。其中一些项目在 svn 下进行了版本控制,有些则没有。我正在寻找一个可以在命令行中输入的单行命令,以便列出那些未进行版本控制的项目……有什么想法吗?

答案1

我使用“svn info”来检查子目录是否处于版本控制之下。如果测试的目录不是工作副本,“svn info”将返回错误。
您可以重定向输出以隐藏“svn info”的输出。

我将继续类似下列的操作来迭代目录,如果“svn info”返回错误,则回显其名称。

for D in */; do svn info ${D} &>/dev/null; if [  $? -ne 0 ]; then echo ${D}; fi done

我不知道你是否可以称其为一行代码,但它确实能完成工作。
另请注意,这不包括隐藏目录。

相关内容