2005年12月21日
CVS轉Subversion
終於要開始將CVS轉換到Subversion了。原本想使用網站上建議的轉換工具,發現這些工具操作的CVS和Subversion必須在同一部主機上,而且必須有Python或Perl的執行環境;由於是兩部主機,且一部在台北一部在高雄,只能放棄這些工具。最後的決議是:盡量保留檔案的修改歷史,至於log message則無法轉換過來,真的需要時就回CVS查詢吧。
為了方便操作,寫了下列批次檔來簡化這些雷同的簽出、拷貝、匯入等工作:
用這樣的格式把CVS上的某個tag存到本地端,再複製給Subversion的Working copy,再Commit回Subversion:
##
為了方便操作,寫了下列批次檔來簡化這些雷同的簽出、拷貝、匯入等工作:
| cvs2svn.bat |
| if "%1"=="" goto ERROR set SVN="d:\svn-win32-1.2.3\bin\svn.exe" set CVS="c:\program files\wincvs1.3\cvsnt\cvs.exe" set APR_ICONV_PATH=d:\svn-win32-1.2.3\iconv rem %CVS% -d :pserver:your_name@CVS_SERVER:/repository export -r V1-00-00 -d d:\svn\source_wc -- source rem 把CVS的某個版本寫出到某個local目錄 %CVS% -d :pserver:your_name@CVS_SERVER:/repository export -r %1 -d d:\svn\source_%1 -- source d: cd \svn\source_wc rem 把某版本檔案內容拷貝到source_wc, 再把source_wc commit至SVN xcopy d:\svn\source_%1 \svn\source_wc /s/y rem 原有但被異動的檔案預設在commit時會重傳,但新加的檔案必須指定add才會被加入 %SVN% add com --force %SVN% commit com --message "import from CVS %1" goto END :ERROR echo Usage: cvs2ftp tagName :END |
用這樣的格式把CVS上的某個tag存到本地端,再複製給Subversion的Working copy,再Commit回Subversion:
| cvs2svn V1-00-00 |
##
引用URL
http://cgi.blog.roodo.com/trackback/894544
回應文章 
你还不如把CVS的内容下到本机
转换完毕之后再传到SVN上
这样changelog就能够全部作过去了
甚至包括tags和branches
转换完毕之后再传到SVN上
这样changelog就能够全部作过去了
甚至包括tags和branches
Posted by Fwolf
at 2005年12月22日 01:24
嗯,因為檔案太多了,時間也有限,只能先這樣處理了。
Posted by emisjerry
at 2005年12月22日 09:34
