VisualSVN跨版本庫遷移目錄(保留日誌)
阿新 • • 發佈:2019-02-11
參考文獻:SVN跨版本庫遷移目錄並保留提交日誌
真的非常感謝這位作者,寫得很好,簡單易懂,終於把版本庫轉移的問題解決了。
關鍵字:VisualSVN 跨版本庫遷移目錄保留日誌
- 整理需要遷移的目錄路徑對應表
目標:把“\PROG1”整個目錄及檔案遷移到“專案1\程式\PROG1”目錄中,並保留日誌
- 把源目錄“PROG1”匯出到一個檔案中
- 指令格式:svnadmin dump 版本庫源目錄 > 目標檔案
- 執行指令“svnadmin dump F:\SVN版本庫\PROG1 > prog1 ”
D:\Program Files\VisualSVN Server\bin>svnadmin dumpF:\SVN版本庫\
解釋:
- 將“F:\SVN版本庫\PROG1”整個版本庫匯出至“prog1”這個檔案中;
- “prog1”檔案存放在當前目錄,且不含副檔名;
注意:
- Windows下,“版本庫源目錄”必須為包含format檔案的目錄,是存放檔案的實際物理路徑,非SVN伺服器的相對路徑;
- 需要轉移的源目錄非根目錄的,可使用svndumpfilter指令,將實際要轉移的源目錄從剛剛生成的檔案中提取出來,並放到一個新檔案中;在目標目錄下匯入時則使用這個新生成的檔案;
例子:把APP從PROG1從提取出來,可執行以下指令
svndumpfilterinclude APP <
這種情況,匯入時應使用“app”這個檔案,不再使用“prog1”這個檔案。
- 根據需要,在VisualSVN伺服器介面上建立目錄
- 把剛剛匯出的檔案匯入到目標目錄
- 指令格式:svnadmin load目標根目錄 --parent-dir 目標子目錄 < 原始檔
- 執行指令:svnadmin load F:\SVN版本庫\專案1 --parent-dir程式/PROG1 < prog1
D:\Program Files\VisualSVN Server\bin>svnadmin loadF:SVN版本庫\專案1--parent-dir 程式/PROG1
解釋:將當前目錄下的“prog1”檔案匯入到“F:SVN版本庫\專案1”根目錄下的“程式/PROG1”子目錄中
到此,完成所有遷移工作。最後提醒一句:SVN是區分大小寫的!