vss2svn - Visual SourceSafe轉換Subversion

jopen 11年前發布 | 22K 次閱讀 vss2svn 版本控制系統

vss2svn - Visual SourceSafe to Subversion 格式轉換器

這是一個源代碼庫工具,能將Visual SourceSafe(VSS)存儲庫轉換為Subversion 的dumpfile格式,以便VSS歷史可以導入到版本庫。
開發文檔
這個工具的開發早已結束,但我決定把它放這里,也許其他人發現它有用。隨意使用它,但是我不能保證我會接受拉要求(pull requests),因為我沒有資源驗證或測試你的代碼。
我最初寫它在Windows,但在Linux得到它并運行可能更容易。因為前者不能很好和Perl工作。C程序應當在兩種平臺都編譯得很好。
最新的文檔可以在谷歌代碼維基找到。
它是如何工作的
這個工具不同于許多其他類似的工具之處是,使用它不需要安裝微軟VSS API。相反,我們組的無畏的開發者去反向工程VSS物理存儲格式,并寫一個C程序來解析那些文件并將結果輸出到一個XML格式。
這個項目的另一半是一個可以讀取XML輸出并將其組裝到subversion的dumpfile格式的Perl程序。dumpfile格式是完整的檔案庫,可以使用“svnadmin load”命令導入。
最終的結果是,這個工具經常甚至比微軟的庫提取歷史做了更好的工作。不幸的是,VSS庫是如此容易中斷,任何在尺寸、時間、使用方面大一些的庫,幾乎可以保證至少部分損壞。歷史庫越久遠,越有可能是不正確的。因此,一般的結果是,雖然這個工具經常從VSS獲得真實代碼歷史時“好過大多數”,一些歷史也會永遠消失了。這是天性。也許,無論如何,切換到一個新的版本控制系統是一個重構您的代碼庫的好機會?你可能要考慮你的舊的歷史遷移到Subversion 歷史只有參考價值,然后開始進一步積極開發新的。
其他版本
不幸的是,“vss2svn”這個名字是相當通用的,至少還有另一個完全無關的同名程序版本工具服務于相同的目的。
這個工具多年來有不同的家。開放源代碼的合作并不完全象GitHub支持一樣好,你知道。以前的家包括:
?http://vss2svn.tigris.org/
?我建立在pumacode.org的個人TRAC/Subversion 網站(不到那里去;現在它由垃圾郵件運行)
?https://code.google.com/p/vss2svn/
在GitHub源代碼應被視為“最新”的版本取代所有以前版本的代碼庫。

項目主頁:http://www.baiduhome.net/lib/view/home/1368774873224

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!