小石頭
          Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
          posts - 91,comments - 22,trackbacks - 0
          用 SVN Importer 實現(xiàn) CSVNT 到 SVN 的轉(zhuǎn)換

          SVN Importer
          用了一下,發(fā)現(xiàn)能夠完美的將 CVSNT 倉庫轉(zhuǎn)換為 Subversion 的版本庫,比那個小日本的 cvs2svn 好太多(用 cvs2svn 轉(zhuǎn)換 CVSNT 倉庫會破壞 word 文檔,估計其他二進制文件的轉(zhuǎn)換也不支持 )。

          兩個小工程轉(zhuǎn)換成功,還有一個大工程在處理,明天看結果:)

          把心得寫下來共享。

          先來說一下 SVN Importer 的兩種轉(zhuǎn)換 CVS 倉庫的方式:

          • 普通 RCS 直接處理 CVS 倉庫:和cvs2svn一樣,通常需要指定rlog.exe,co.exe或是cvs.exe的具體位置。速度快但對 CVSNT 格式的倉庫支持不好(因為 CVSNT 倉庫的格式可能會不同于標準的 CVS 倉庫)。
          • CVS 客戶端 pserver 協(xié)議登陸:很有特點的一種轉(zhuǎn)換方式!也是能夠完美轉(zhuǎn)換 CVSNT 倉庫的關鍵。SVN Importer 內(nèi)置了一個 JAVA CVS 客戶端內(nèi)核,通過 pserver 協(xié)議登陸到 CVSNT 倉庫取出倉庫內(nèi)容然后導入到 Subversion 版本庫中。按照這個方式跳過了直接對 CVSNT 倉庫的格式的識別和處理,理論上兼容性最好。


            闡述操作環(huán)境:
            CVSNT:2.5.03.2382
            Subversion: 1.4.2
            Subversion 安裝路徑: C:\Subversion
            SVN Importer: 1.1-M8
            J2RE: 1.5
            CVSNT 主機:10.0.4.100
            CVSNT 倉庫: /dsp50
            CVSNT 倉庫登陸用戶名: root
            CVSNT 倉庫登陸密碼: root
            CVSNT 倉庫通訊協(xié)議: pserver, sserver (必須有 pserver)
            SVN Import 安裝路徑: C:\svn-importer
            導出生成的目標 Subversion 版本庫路徑: C:\svnroot\dsp50
            注意:登陸的用戶最好對倉庫有完全的讀寫權限。

            先安裝J2RE,因為 SVN Importer 使用 Java 寫的。
            建兩個臨時文件夾: C:\temp\cvs和C:\temp\svn

            下載 SVN Importer 解壓縮到C:\svn-importer,進入,打開config.properties。
            確保使用 cvs 方式。

            srcprovider=cvs

            Subversion 導入設置如下:

            svnadmin.executable=C:/Subversion/bin/svnadmin.exe
            svnadmin.repository_path=c:/svnroot/dsp50
            svnadmin.parent_dir=.
            svnadmin.tempdir=c:/temp/svn
            svnclient.executable=C:/Subversion/bin/svn.exe
            svnadmin.verbose_exec=yes

            CVS 導出設置如下:

            cvs.class=org.polarion.svnimporter.cvsprovider.CvsProvider
            cvs.username=root
            cvs.password=root
            cvs.hostname=10.0.4.100
            cvs.repository=/dsp50
            cvs.modulename=*
            cvs.tempdir=c:/temp/cvs

            注意cvs.modulename=*表示導出倉庫下所有模塊,即導出整個倉庫。

            其他都不需要改,保存。

            用命令提示符轉(zhuǎn)到 SVN Importer 的安裝目錄 C:\svn-importer 運行如下指令:

            run full config.properties

            耐心等待,因為要通過協(xié)議登錄到倉庫提取數(shù)據(jù),所以倉庫較大的話會花不少時間。
            運行過程沒有進度提示(這是最郁悶的,我還以為是死了呢),不過會生成一個log日志文件,你可以隨時參看處理情況。
            根據(jù) config.properties 文件的設置,在 SVN Importer 的安裝目錄下會生成了一個“file_dump_時間.txt”文件,如果文件容量不停增長,那就說明,處理正在進行,耐心等待結束吧

            轉(zhuǎn)出的倉庫用 Subversion 客戶端(如TortoiseSVN)檢出后檢查一下。

            應該沒問題了。至此,CVSNT 完美轉(zhuǎn)換成 Subversion 版本庫。

            祝好運。

            有問題的一起交流

            [ 本帖最后由 shaohao 于 2007-1-26 00:55 編輯 ]



            搜索更多相關主題的帖子: svn importer

            ?引用 ?報告回復頂部
            shaohao
            初中生
            Rank: 2



            UID 1366
            精華 2
            積分 147
            帖子 17
            威望 49
            金錢 98
            推廣積分 0
            閱讀權限 20
            注冊 2007-1-25
            狀態(tài) 離線
            發(fā)表于 2007-1-26 10:42? 資料文集短消息?
            暈,今天早上轉(zhuǎn)了個大工程,CVSNT倉庫內(nèi)有中文文件名的word文檔。發(fā)現(xiàn)SVN Importer對中文文件名支持還是不夠好,有些能轉(zhuǎn),有些轉(zhuǎn)換后文件名內(nèi)有"?",導致客戶端無法導出。
            解決辦法:瀏覽轉(zhuǎn)換后的SVN版本庫。記錄下所有帶"?"字符的文件名。然后在CVSNT上把對應的文件checkout后刪除。倉庫轉(zhuǎn)換完成后再把這些文件導入即可。
            posted on 2007-03-04 17:13 小石頭 閱讀(1813) 評論(1)  編輯  收藏 所屬分類: Subversion

            FeedBack:
            # re: 用 SVN Importer 實現(xiàn) CSVNT 到 SVN 的轉(zhuǎn)換
            2008-06-16 18:18 | tedeyang
            我今天也遇到這里的亂碼問題。慘的事,連cvs目錄都有中文的!甚至模塊名稱也是中文的。
            現(xiàn)在有沒有更好的解決辦法?
            看起來此工具已經(jīng)停止開發(fā)很久,這個bug只能自己改了
              回復  更多評論
              
            主站蜘蛛池模板: 庐江县| 青海省| 东阳市| 洛宁县| 大邑县| 沿河| 泾源县| 崇仁县| 苍梧县| 石渠县| 特克斯县| 英山县| 金堂县| 赤水市| 平远县| 龙泉市| 滨海县| 库伦旗| 南开区| 沂水县| 汪清县| 读书| 凤冈县| 吴江市| 万安县| 伊通| 沭阳县| 合阳县| 甘洛县| 象山县| 临潭县| 朝阳县| 延安市| 新民市| 桂林市| 静宁县| 寻甸| 三都| 张家口市| 广昌县| 卢氏县|