linux下svn遷移目錄操作


由於最開始創建svn數據存放目錄的時候沒有放到數據盤,后面因為項目數據增多了,導致svn數據目錄滿了,必須要處理了,否則svn都不能正常用了!

 可以看到最開始,我是把svn數據目錄設置在/var/svn下面的,現在有56G的數據,加上其他的數據,根目錄的空間70G已經用完了。

查看磁盤可以看到/home目錄下還有很多空間,可以把svn的數據轉移過去,那該怎么轉移呢,下面記錄一下我的方法

1、用 svnadmin dump 命令來備份打包庫數據,其中game為我的項目文件夾

svnadmin dump /var/svn/game > /home/game-backup.svn

操作成功,會看到如下顯示:

2、在/home目錄下創建新的庫地址

svnadmin create /home/game

3、把備份文件還原到新的目錄

svnadmin load /home/game < /home/game-backup.svn

還原的過程中,會輸出這些內容,我這里只是模擬格式,不是真實的,僅供參考哈,等待還原完成即可

<<< Started new transaction, based on original revision 1
    * adding path : xxxx ... done.
    * adding path : xxxx ... done.
    * adding path : xxxx ... done.
    * adding path : xxxx ... done.
    .....
------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
    * adding path : xxxx ... done.
    * deleting path : xxxx ... done.
    .....
------- Committed revision 2 >>>

這時候如果你直接去客戶端操作svn,是會報錯的,例如:

 

 

 因為我的/var/svn/game 這個目錄名稱我已經改了,為了和新目錄區分,我改成了game_old,但是現在提示找不到game這個路徑,但是我明明在/home/game 這里建立了呀,而且數據也遷移過來了,為什么呢

 

 通過查看svn進程運行的情況發現,svn服務端設置的目錄還是/data/svn(這里的/data/svn和我上面提到的/var/svn是一個概念,不要糾結為什么不一樣),原來/hom/game這里只是一個數據倉庫,並沒有和svn服務端設置的根目錄路徑相匹配,所以客戶端訪問會提示找不到路徑,這個時候就需要kill掉svn的進程,重新啟動並修改路徑為/home/svn(上面我沒有建立svn目錄,可以遷移之后再建立或者事先建立好都可以),這樣客戶端應該就可以正常使用了,遷移目錄就完成了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM