終於要開始將CVS轉換到Subversion了。原本想使用網站上建議的轉換工具,發現這些工具操作的CVS和Subversion必須在同一部主機上,而且必須有Python或Perl的執行環境;由於是兩部主機,且一部在台北一部在高雄,只能放棄這些工具。最後的決議是:盡量保留檔案的修改歷史,至於log message則無法轉換過來,真的需要時就回CVS查詢吧。
為了方便操作,寫了下列批次檔來簡化這些雷同的簽出、拷貝、匯入等工作:
| cvs2svn.bat |
| if “%1″==”" goto ERROR set SVN=”d:svn-win32-1.2.3binsvn.exe” set CVS=”c:program fileswincvs1.3cvsntcvs.exe” set APR_ICONV_PATH=d:svn-win32-1.2.3iconv rem %CVS% -d :pserver:your_name@CVS_SERVER:/repository export -r V1-00-00 -d d:svnsource_wc — source rem 把CVS的某個版本寫出到某個local目錄 %CVS% -d :pserver:your_name@CVS_SERVER:/repository export -r %1 -d d:svnsource_%1 — source d: cd svnsource_wc rem 把某版本檔案內容拷貝到source_wc, 再把source_wc commit至SVN xcopy d:svnsource_%1 svnsource_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 |
##











最新留言