办公室的一些聪明的家伙设法将一大堆“备份”文件(以._
开头)提交给我们的subversion服务器。
最好我想使用一些基本的bash脚本删除这些文件,而不是手动通过存储库。
有什么方法可以获取目录中所有subversion版本化文件的列表,这样我就可以做一些基本的grepping / svn删除了吗?
编辑:
'svn list'不是递归的,似乎也列出目录,我需要像'find'这样的行为。
第二次编辑:
好的,-R标志可以使'svn list'递归...但是如何删除目录?
答案 0 :(得分:6)
svn list -R
以递归方式列出所有文件和目录
答案 1 :(得分:4)
如果它仅在一次提交(或一系列提交)中,则使用 svn merge 来撤消它。
如果用户已在多次提交中执行此操作并且您使用的是Linux:
首先检查这是否正确列出了您要删除的文件:
find . -name '._*'
然后实际调用svn删除它们:
find . -name '._*' -exec svn rm {} \;
检查svn状态,如果好的话,提交。
免责声明:我没有测试过这些命令,所以要小心。
我认为这些是自动生成的Mac备份文件。
答案 2 :(得分:3)
如何删除目录?
关键是观察目录将以斜杠结束。
然后你可以使用grep。
svn list -R my_svn_dir | grep -v '/$'