參考:
CSDN1:https://blog.csdn.net/u011729865/article/details/78764523
CSDN2:https://blog.csdn.net/wyyother1/article/details/80061952
1、注意一下,我客戶端是在 windows 系統下,而 svn 的服務端是在 Linux 系統中。
2、可以來到,我們這邊一開始有一個用來測試刪除用的文件 和 文件夾: 用來刪除用的測試.txt、用來測試刪除用的文件夾

3、然后我們通過 移動到回收站(或者 Shift + del 鍵的徹底刪除后)后,提交


4、雖然在最新的版本中,我們看不到上面刪除的 文件 / 文件夾。

5、但在前面的版本中,我們還是能看到的。

6、這個時候要徹底刪除 svn 服務器 版本庫中,所有版本中的這兩個文件 / 文件,按下面步驟操作:
(a)、先備份 你要刪除的該 svn 版本庫,我這里的版本庫是 叫 test,可以看到,我這邊一共有 7個版本,都已經備份好了,名字叫 a.dump。
svnadmin dump 版本庫路徑 > 備份后的名字.dump


(b)、然后,因為我們不改變版本庫的名稱,所以要先把 test 的版本庫改變名稱,然后,新建一個新的 test 版本庫
mv test test11 # 把 test 文件夾 重命名為 test11 mkdir test # 創建名為 test 的文件夾 svnadmin create test # 創建版本庫,其實不需要上面的 mkdir test 也可以,因為這條命令已經包含了,新建 rm -rf test/conf #徹底刪除新建版本中 conf 的配置,為了保持原本用戶權限等信息 cp -r test11/conf test/ # 把原來的 test 版本庫 的配置直接復制一份到 新的 test 中。

(c)、過濾掉不要的 文件夾 和 文件
cat a.dump | svndumpfilter exclude 在版本庫中的路徑 以 / 開頭,有多個要過來的,用空格隔開 > test.dump

(d)、然后把備份放回新的同名倉庫中。
svnadmin load ./test < test.dump #注意,這邊的 < 跟上面的是不一樣的。上面的是 >

7、執行完上面的,就重啟 svn 服務器。
8、為什么要徹底刪除呢整個版本庫中的文件,拿 web 前端項目來比如:
1、vue-cli 安裝 node 包之后,或多出來一個 node_module 文件夾
2、node_module 下面是所有的 node 包,但其實這個包是不應該上傳到 svn 的,因為我們只要拿到它的配置文件 package.json 就能安裝好。
3、像我這種窮人,租了個騰訊雲只有 40G ,如果那些 node 包都上傳上去,動不動就幾百M,根本空間不夠去玩很多想要玩的編程知識
