﻿# 如何將 Visual SourceSafe 資料庫轉到 Subversion

這是我之前用 Visual SourceSafe 時覺得很難用，將 VSS 轉到 Subversion 過程的筆記。雖然可以轉成功，但是 VSS 中的 Log Message 中文部分都會變成亂碼，這應該是無解，不過至少可以把所有原始碼版本移過來，加減用吧！還沒轉到 Subversion 的還是建議趕快轉，用 Visual SourceSafe 真的會瘋掉！

1.  下載 [vss2svn](https://github.com/irontoby/vss2svn "vss2svn")
2.  解壓縮 "ssphys.exe" 與 "vss2svn.exe" 出來
3.  執行 "vss2svn.pl -vssdir D:\\Will\\VSSDatabase"
4.  你將會取得 vss2svn-dumpfile.txt 檔  
      
    **Will備註：由於 Subversion 是用 UTF-8 做為儲存的字碼。但透過 "ssphys.exe" 倒出來的資料檔卻是 Big5 (因為在Traditional Chinese環境執行)，再由 vss2svn.pl 轉出來的 dumpfile 卻是從 ISO-8859-1 轉為 UTF-8 的 dumpfile!!! 所以所有的中文字碼都亂掉了！！最底下有我的解決方案。**  
    
5.  到 Subversion 建立一個資料庫(Reository)  
      
    svnadmin create VSSDatabaseSVN  
    
6.  將版本庫匯入  
      
    svnadmin load VSSDatabaseSVN < vss2svn-dumpfile-utf8.txt

步驟4做完後請用我寫的 [c.php (1.65 kb)](https://stwillblogassets.blob.core.windows.net/files/c.php) 這支 PHP 程式轉換 dumpfile !

轉換的指令是：

    **php -q c.php > vss2svn-dumpfile-utf8.txt**
