[開発環境] Subversionをバージョンアップ

時間があったので、ソースコードやドキュメントのバージョン管理に使っている Subversionを最新の 1.4.2 に上げました。

1.4 は

  • 管理ファイル形式を変え高速化された
  • バイナリーファイルの圧縮が上がった
  • 正式にWindows Service に対応

などのメリットがあるようです。

ただし EclipseプラグインSubclipse 1.0系は対応してないので Eclipse3.1 で 使うのに小細工が必要なようです → http://sssdiary.at.webry.info/200609/article_10.html

ただし、 Eclipse3.2 用の Subclipse 1.1系は対応してるので、とりあえず私は問題なさそうです。
注意: 1.1系の update サイトは http://subclipse.tigris.org/update_1.2.x です (なぜ 1.2.x なんだろう?)


諸般の事情で、会社のSubversionサーバーは Windows2000 で動いています。
まずは、現在のSVNリポジトリーをダンプし Subversion 1.3.X をアンインストールしました。
さて、いよいよ 1.4.2 のインストールですが サービスのインストールには sc.exe というコマンドが必要です。この sc.exe は WindowsXPには入っていますが、Windows2000 はありません。 Windows 2000 Resource Kit の中にあるそうですが フリーではありません。

困った〜〜 と思い検索すると やはり同じ様に困った方がいたようで 「人力検索はてな」にありました ^^)/

http://www.petri.co.il/download_free_reskit_tools.htm からダウンロードし無事にインストール出来ました。

手順は:

リポジトリーのダンプ
$ svnadmin dump C:\SVNrepo > C:\backup\svn061114.dmp

古いSubversionサービスの削除
$ sc delete SVNservice      
$ sc query SVNservice   ← 確認

新しいSubversionサービスの登録
sc create svnservice binPath= "C:\usr\svn-win32-1.4.2\bin\svnserve.exe --service --root C:\SVNrepo"  
$ sc query svnservice   ← 確認

新しいSubversionの設定
・svnserve.conf ファイルの変更
・passwd ファイルにアカウントを登録

新しいSubversionサービスのスタート
$ sc start svnservice 
$ sc query svnservice   ← 確認

リポジトリーを作成し、インポート     
$ svnadmin create C:\SVNrepo --fs-type fsfs
$ svnadmin load C:\SVNrepo < C:\backup\svn061114.dmp

このページ http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FSubversion%2F%A5%E1%A5%E2
を参考にさせて頂きました。ありがとうございます!

それから、1.4.2 になり svn,svnadmin の出力が文字化けするようになりましたが、
環境変数 APR_ICONV_PATH=C:\usr\svn-win32-1.4.2\iconv を追加し直りました。


1.4.2 に上げた効果ですが、速度は早くなったような気はします。
レポジトリーの大きさは 160Mbyte → 130Mbyte と小さくなっています。