天天看點

【轉】用 SVN Importer 實作 CSVNT 到 SVN 的轉換

轉載位址:http://www.blogjava.net/yongbing/archive/2007/03/04/101761.html

用 svn importer 實作 csvnt 到 svn 的轉換

用了一下,發現能夠完美的将 cvsnt 倉庫轉換為 subversion

的版本庫,比那個小日本的 cvs2svn 好太多(用 cvs2svn 轉換 cvsnt 倉庫會破壞 word 文檔,估計其他二進制檔案的轉換也不支援

【轉】用 SVN Importer 實作 CSVNT 到 SVN 的轉換

)。

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

把心得寫下來共享。

先來說一下 svn

importer 的兩種轉換 cvs 倉庫的方式:

普通 rcs 直接處理 cvs 倉庫:和cvs2svn一樣,通常需要指定rlog.exe,co.exe或是cvs.exe的具體位置。速度快但對

cvsnt 格式的倉庫支援不好(因為 cvsnt 倉庫的格式可能會不同于标準的 cvs 倉庫)。

cvs 用戶端 pserver 協定登陸:很有特點的一種轉換方式!也是能夠完美轉換 cvsnt 倉庫的關鍵。svn importer 内置了一個

java cvs 用戶端核心,通過 pserver 協定登陸到 cvsnt 倉庫取出倉庫内容然後導入到 subversion

版本庫中。按照這個方式跳過了直接對 cvsnt 倉庫的格式的識别和處理,理論上相容性最好。

闡述操作環境:

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 倉庫通訊協定: 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 方式。

code:

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=*表示導出倉庫下所有子產品,即導出整個倉庫。

其他都不需要改,儲存。

用指令提示符轉到

svn importer 的安裝目錄 c:\svn-importer 運作如下指令:

run full config.properties

耐心等待,因為要通過協定登入到倉庫提取資料,是以倉庫較大的話會花不少時間。

運作過程沒有進度提示(這是最郁悶的,我還以為是死了呢),不過會生成一個log日志檔案,你可以随時參看處理情況。

根據

config.properties 檔案的設定,在 svn importer

的安裝目錄下會生成了一個“file_dump_時間.txt”檔案,如果檔案容量不停增長,那就說明,處理正在進行,耐心等待結束吧

【轉】用 SVN Importer 實作 CSVNT 到 SVN 的轉換

轉出的倉庫用

subversion 用戶端(如tortoisesvn)檢出後檢查一下。

應該沒問題了。至此,cvsnt 完美轉換成 subversion

版本庫。