目前專案累積到整個SVN庫有6G多,所以認真的研究了怎樣減肥。
執行目錄是預設在svn專案的資料夾內
1.先查看目前最新版本,svndata是我的版本庫名字
#svnlook youngest svndata
記得把這個版本號抄下後下面會用到
2.先建立一個工作區
#mkdir temp
3.執行備份,以免出了啥狀況會真的回不去了
#svndamin hotcopy svndata temp
4.把資料倒出來
#svnadmin dump svndata -r 9487:9488 > aa.tmp
這邊我保留了9487跟9488兩個版本。多個版本號之間都用冒號分隔開來
5. 刪除舊庫
#rm -rf svndata
6. 新建立一個新庫,名字要取一樣
#svndamin create svndata
7. 把舊資料匯入
#svnadmin load svndata < aa.tmp
8. 我自己有更改一些東西,所以從舊的複製東西回去,像是conf跟hook目錄下的東西
9. 基本上已經完成了。若是會在意使用時候出現svn: E160006: No such revision XXXX 這類版本號不對的訊息的話。
可以先在別處先checkout一次後,把.svn這個目錄COPY過來就好了
例如到 /tmp 執行 svn co svn://localhost/svn專案名 –username 帳號 –password 密碼
10. 都確認沒問題之後,把剛剛生成的 aa.tmp temp 還有臨時checkout出來的這些東西都可以刪除了