CVSからのSubversionにデータ移行手順(Cygwin編)
cygwinを利用してCVSのデータをSubversionに移行する際に日本語ファイル名が文字化けすることが多々あります。
その原因として考えられるものに、cygwinの環境で日本語(SJIS)が扱える状態になっていないということが考えられます。
そんなときはまずはnkfをインストールして、日本語ファイル名が文字化けしないようにします。
以下の手順で各種インストールを実施します。
cvs2svnのインストール
$ wget http://cvs2svn.tigris.org/files/documents/1462/41596/cvs2svn-2.1.0.tar.gz
$ cd cvs2svn-2.1.0
$ make install
日本語ファイルが文字化けしないようにするための設定
まずはnkfのインストール
$ wget http://prdownloads.sourceforge.jp/nkf/20770/nkf207.tar.gz
$ tar zxvf nkf207b2.tar.gz
$ cd nkf207
$ make
$ cp nkf.exe /usr/bin/ .
続いてロケールの追加です。
$ wget http://www.sixnine.net/cygwin/cygwin-doc/moconv.sh
$ sh ./moconv.sh
以下が作成されていることを確認
/usr/share/locale/ja_JP.SJIS
最後に環境変数の設定
$ export LANG=ja_JP.SJIS
ここまで終了したら、最後にcvs2svnを実行して、Subversion用のリポジトリを作成します。
svnリポジトリの作成
$ cvs2svn --encording=Shift_JIS --fallback-encoding=Shift_JIS -s [Subversionリポジトリ] [CVSリポジトリ]
サンプルコード
$ cvs2svn --encording=Shift_JIS --fallback-encoding=Shift_JIS -s /home/Administrator/svn_repo /cygdrive/c/sample/test
Subversionリポジトリ:Subversion用のリポジトリが作成されるので、このディレクトリを配置するだけで利用可能な状態です。
念のため確認される場合は、以下のコマンドで試してみては?
これで日本語ファイル名も文字化けせずに移行できるはずです。