SVN 自动删除 “被手动删除” 的文件

删除SVN存储库工作副本中的文件时,应该在命令行上执行:

svn rm [filename]

但是,如果您不这样做(例如通过gui删除,或者只执行“rm”而不执行“svn”),那么svn就会感到困惑,并将一个“!”在所有被删除的文件之前的状态。

如果您进行svn更新,所有的文件都将被恢复,显然您花费在删除它们上的所有时间都将被浪费了。

你真的应该使用svn rm,但如果已经太晚了,你可以使用这个bash脚本来删除svn中的文件:

 #从svn中删除你已经删除的文件    
 svn status | grep "^\!" | sed 's/^\! *//g' | xargs svn rm

这个命令执行一个status命令,查找所有以“!”开头的行。然后提取文件名,并运行它通过“ svn rm ” 真正删除文件。

警告:确保您确实想删除所有这些文件!

使用方法自负风险。代码足够简单,所以您应该能够了解它的功能。