在SVN中如果删除某个文件或文件夹也可以在历史记录中进行找回,有的时候需要彻底删除某些文件,即不希望通过历史记录进行恢复,需要在服务器上对SVN的数据进行重新整理
1. 使用svnadmin把整个要处理的svn库的项目导出来
命令为:svnadmin dump repos1 > repos1.dump
repos1 为你的对应库名,repos1.dump为导出的文件名,可以随意命名,只要自己记得。
2. 使用svndumpfilter exclude命令过滤项目中废弃的文件夹,可以填写多个文件路径,该命令是根据路径名字过滤的。
命令为:svndumpfilter exlude directory1 directory2 directory3 <repos1.dump> filtered-repos1.dump
如上,路径可以随意填写,但一定要正确存在,比如你导出的是/test/test1,你要过滤的是test1下面的test2,那么这里的directory1应该写为test1/test2,如果还有其他要一并过滤的,可以空格添加其他directory2,directory3即可。
注意,路径中如果包含有空格等,需要用双引号包起来。避免识别错误。
路径配置完成后,一定要用<>把之前第一步导出来的备份dump文件括起来,表示过滤是在该文件的结构中进行。
而最后一个filtered-repos1.dump文件就很好理解了,就是过滤出来的新的结构备份文件。
过滤后的效果如下图:
3. 之后再新建一个库,导进去即可,如果要继续使用原来的库名,将原来的库删除后重建,导入即可,导入命令用svnadmin load。
评论区