這是我之前用 Visual SourceSafe 時覺得很難用,將 VSS 轉到 Subversion 過程的筆記。雖然可以轉成功,但是 VSS 中的 Log Message 中文部分都會變成亂碼,這應該是無解,不過至少可以把所有原始碼版本移過來,加減用吧!還沒轉到 Subversion 的還是建議趕快轉,用 Visual SourceSafe 真的會瘋掉!
- 下載 vss2svn
- 解壓縮 "ssphys.exe" 與 "vss2svn.exe" 出來
- 執行 "vss2svn.pl -vssdir D:\Will\VSSDatabase"
- 你將會取得 vss2svn-dumpfile.txt 檔
Will備註:由於 Subversion 是用 UTF-8 做為儲存的字碼。但透過 "ssphys.exe" 倒出來的資料檔卻是 Big5 (因為在Traditional Chinese環境執行),再由 vss2svn.pl 轉出來的 dumpfile 卻是從 ISO-8859-1 轉為 UTF-8 的 dumpfile!!! 所以所有的中文字碼都亂掉了!!最底下有我的解決方案。
- 到 Subversion 建立一個資料庫(Reository)
svnadmin create VSSDatabaseSVN
- 將版本庫匯入
svnadmin load VSSDatabaseSVN < vss2svn-dumpfile-utf8.txt
步驟4做完後請用我寫的 c.php (1.65 kb) 這支 PHP 程式轉換 dumpfile !
轉換的指令是:
php -q c.php > vss2svn-dumpfile-utf8.txt