a)服务器上操作
cd到版本库所在目录
step1:dump版本库
svnadmin dump REPOS > repos.dump
step2: 过滤版本库中文件或文件夹
svndumpfilter exclude "/aaa/bbb*" "/ddd/123.c" --pattern < repos.dump > repos_new.dump
删除/aaa/bbb整个目录、/ddd/123.c文件
step3: 重新创建版本库并导入
svnadmin create NEW_REPOS
svnadmin load NEW_REPOS < repos_new.dump
b)客户端操作
在服务器版本库中直接删除文件后,会造成客户端本地维护的版本库信息和服务器版本库不一致,由于客户端本地是用sqlite数据库来保存版本库信息的,所以可以使用sqlite数据库工具修复
sqlite .svn/wc.db "delete from nodes where repos_path like ‘/aaa/bbb%‘"
sqlite .svn/wc.db "delete from nodes where repos_path = ‘/ddd/123.c‘"
也可以使用DBBrowserforSQLite进行删除
sqlite .svn/wc.db "delete from work_queue"
sqlite .svn/wc.db "update repository set root=‘http://xx.xx.xx.xx/svn/REPOS‘, uuid=‘0000-1111-2222‘ "
原文:https://www.cnblogs.com/lgc2003/p/11266795.html