![从命令行确定哪些文件夹被 svn 了](https://linux22.com/image/1310741/%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A1%AE%E5%AE%9A%E5%93%AA%E4%BA%9B%E6%96%87%E4%BB%B6%E5%A4%B9%E8%A2%AB%20svn%20%E4%BA%86.png)
我有一个文件夹,其中包含一组文件夹,这些文件夹本身是不同项目的根目录。其中一些项目在 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
我不知道你是否可以称其为一行代码,但它确实能完成工作。
另请注意,这不包括隐藏目录。