VSSからSubversionへの移行方法

方法と問題点

  1. VSS2SVN を使用する
    • VSSから直接変換しSubversionのリポジトリを作成するので速い
    • 但し、海外製のツールなので日本語関係が全滅
    • ログをまともに参照出来ないのであれば、移行する意味がないので、この案は使用できない
  2. VSS2SVN.pl を使用する
    • PerlからVSSとSubversionを操作し、リポジトリを作成する
    • 日本語はPerlのモジュール等を使用するので、問題ない
    • 反面、処理に時間がかかる

VSS2SVN.plによる移行が妥当

VSS2SVN.plの実行するにあたっての前提条件

VSS2SVN.pl を使用するために準備するもの

インストール手順

主にActivePerlで使用するモジュールのインストール手順

VSS2SVN.plの実行方法

cd /d D:\WORK\vss2svn 

::基本的に、エラーが出てはVSS側のファイル名を変えたり・・等と、~
::何度も実行する形になると思います。時間もそれなりにかかります。~
::再度実行する時には必ず、_vss2svn のディレクトリを削除する必要があるため、削除します。
rd _vss2svn /s /q

:: VSS の設定。srcsafe.ini の場所を指定
set SSDIR=D:\projects\vss

:: PATH の設定 (VSSの実行モジュールが存在する場所へのパスを通す。必要であれば、Subversionに対しても。)
set PATH=%PATH%;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32;

:: 上記文字化け対策 (通常、Subversionをインストールすれば自動で登録されている。)
::set APR_ICONV_PATH=D:\Subversion\iconv

:: SSJP.DLL のリネーム
ren "C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SSJP.DLL" "SSJP.DLL~"

:: vss2svn 実行 (パスワードが有る場合を想定、パスワードがない場合は、--vsslogin以下を消去)
vss2svn.pl --setdates --vssproject $/ -svnrepo file:///path/svn/(ProjectName) --vsslogin "username:password"

:: SSJP.DLL の戻し
ren "C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SSJP.DLL~" "SSJP.DLL"

参考にしたサイト