徹底刪除SVN版本庫某一文件夾或文件

基礎描述

要徹底刪除SVN版本庫某一文件夾或文件,可採取這種方法(舉例說明):
例:假設SVN庫路徑爲E:/svn/project,庫中的目錄結構爲

Trunk
Software/test.exe

刪除Software/目錄下的test.exe文件
操作步驟爲:
1、 把SVN庫dump出來
2、 使用svndumpfilter過濾掉要刪除的文件
3、 新建一個SVN庫
4、 再將處理好的文件load到新的SVN庫裏
具體命令爲:

svnadmin dump E:/svn/project > aaa.dump
cat aaa.dump | svndumpfilter exclude /Software/test.exe > bbb.dump
svnadmin create E:/svn/project_new 
svnadmin load E:/svn/project_new < bbb.dump

然後再將新建的project_new 重命名爲project,以前的project可以移走,或是另取一個名稱.
此方法在SVN庫裏版本不多的情況下完全可以達到徹底刪除SVN版本庫某一文件夾或文件的效果,但是如果SVN庫裏的版本過多,在dump版本的時候會因存儲空間不足,而無法dump版本.也就無法操作了.這時須另掛能滿足其存儲空間的硬盤操作.

總結

  1. svnadmin create是新建svn倉庫;
  2. svnadmin dump是依據當前svn倉庫做的備份;備份裏包含所有文件和版本歷史追溯信息。dump後的文件大小預計跟倉庫容量大小是一致的。
  3. svndumpfilter是依據並編輯倉庫備份,使得對svn倉庫做篩選過濾;
  4. svnadmin load是依據備份,產生新的svn倉庫。
  5. svnadmin或者svndumpfilter,都是針對倉庫文件所在目錄操作。而非svn的倉庫地址svn://192.168.1.101/project而言。
發佈了191 篇原創文章 · 獲贊 174 · 訪問量 85萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章