閱讀253 返回首頁    go 阿裏雲 go 技術社區[雲棲]


SVN早期版本庫曆史的刪除

  最近我的機器磁盤空間發現嚴重不足,找來找去,隻找到可以拿SVN版本庫開刀。我主要使用SVN存放需要在家裏台式機和工作的筆記本之間需要同步的內容,如個人文檔、程序源碼、臨時照片、課件等等。除了個人文檔和程序源碼,幾乎不存在需要保留長期曆史的需求。僅僅是因為我是程序員,選擇了SVN作為我的文件同步工具。

  言歸正傳,下麵介紹一下環境:

   軟件環境:

Windows XP SP2 32bit
Apache 2.2.14
Subversion 1.6.6
TortoiseSVN 1.6.6.17493
SVN版本庫位置:D:/SVNRepository,占地3.34G

 

   步驟:

  1.準備工作
        停止運行中的Apache。
    打開命令行提示符,輸入命令: svnlook youngest d:/SVNRepository ,查看當前最新的版本號,顯示最新版本記錄為755。

 

  2.備份版本庫 (很重要,我在嚐試過程中出現過失敗,幸虧有備份,不然就over了)
        把D盤的版本庫,備份到C盤,同時清除曆史日誌,輸入命令:svnadmin hotcopy --clean-logs d:/SVNRepository c:/SVNRepository ,這樣備份後版本庫從3.34G變為3.24G。

 

      3.dump需要保留的版本
        我最初選擇保留700-755的版本,但是在這一步運行過程中出現這樣一段話:
              * 已轉存版本 739。
              * 已轉存版本 740。
              警告: 版本 535 的參考數據比最舊的轉存數據版本 (700)還舊。
              警告: 裝載這個轉存到空的版本庫會失敗。
              * 已轉存版本 741。

        我沒有太在意,結果從dump恢複版本庫時出現錯誤,屏幕顯示:svnadmin: 當前版本庫不存在相對源版本 -164,並終止運行。導致我使用備份庫進行dump。
        跳過這段,直接說正確的方法。輸入:svnadmin dump c:/SVNRepository -r 745:755 > d:/repo_dump_745_755.dmp ,3.24G的版本庫dump出來後變成760M,苗條不少。

 

      4.刪除就版本庫
        輸入命令:rmdir /s/q d:/SVNRepository ,刪除舊版本庫。也可以直接在資源管理器裏刪除。

 

      5.創建空的版本庫
        輸入命令:svnadmin create d:/SVNRepository ,檢查空的版本庫大概31.2K大小。

 

      6.把dump文件導入版本庫
        輸入命令:svnadmin load d:/SVNRepository < d:/repo_dump_745_755.dmp ,這時屏幕上會顯示正在載入版本庫中的文件或正在提交/裝載的版本。完成後,用命令svnlook youngest d:/SVNRepository 查看,顯示當前版本庫最新版本號是11,整個版本庫大小501M。

 

      至此,SVN版本庫瘦身成功,騰出空間2.7G,大致相當於騰出原SVN庫近5/6的空間!

最後更新:2017-04-02 04:01:43

  上一篇:go 未能正確加載包&quot;visla Studio HTM Editor Package&quot; 問題的解決
  下一篇:go semget, semop and semctl函數小記