CVSNTをWindowsXPにインストールする〜日本語逆襲編

やっとCVSインストール作業ができたと思ったら、日本語名ファイルが化けるでやんの…。浅はかな自分に乾杯。そんなわけでsjis御用達CVS版に乗り換えする。
2008/2/4更新

ダウンロード

インストール

  • デフォルト「次へ」でOK。コンポーネントは「標準インストール」で。
  • インストール後には再起動する。

ポート

  • 「コントロールパネル」→「セキュリティセンタ」→「Windowsファイアウォール
  • CVSNTのポート2401,2402を許可する。

CVSNT設定

  • スタートメニューから「CVSNT」→「Service Control Panel」を起動する。
  • 「サービスの状態」タブ
    CVSサービスとCVSロックサービスを停止する。
  • リポジトリ」タブ
    「追加」でリポジトリフォルダを追加する。
  • 「詳細」タブ
    Eclipseから実行するため「Unix CVSであるふりをする」にチェックに入れる。
  • 「インパーソネーションを有効にする」→チェックをはずして無効にする。

ユーザ作成

C:\>set CVSROOT=:pserver:[Administrator権限のあるユーザ]@localhost:/cvsrepo
C:\>cvs login
CVS password>[Administrator権限のあるユーザのOSログインパスワード] C:\>cvs passwd -a -r [OSにログインするユーザ名] [ユーザー名] Adding user [ユーザー名]@localhost
New password:[パスワード] Verify password:[パスワード]
  • Administrator権限がなければユーザの追加更新削除はできない。
  • passwdファイルの内容を確認する。
    [CVSにログインするユーザ名]:[パスワード]:[OSにログインするユーザ名]

Eclipse

接続タイプpserver
ユーザー上記で設定したユーザ
パスワード上記で設定したパスワード
ホストCVSをインストールしたホスト名(またはIP)
リポジトリ・パス上記で設定したリポジトリ

  • HEADを開いてCVSROOTフォルダが見えるか確認する。見えなければ接続情報が間違っているので見直す。
  • JAVAパースペクティブに切り替えて、パッケージエクスプローラを開く。
  • CVSサーバにコミットしたいプロジェクトで、右クリック→「チーム」→「切断」する。
    ファイルシステムからCVSメタ情報も削除します」を選択する。
  • 再度同じプロジェクトで、右クリック→「チーム」→「プロジェクトの共有」を選択する。
  • CVSサーバにコミットする。

ソケット例外

以前に別の(sjis版ではない標準版の)CVSNTをインストールしていた場合、ソケット例外が発生する事がある。というか発生した。
試行錯誤して気づいた点は3つ。

  1. 私の環境では標準版をそのままインストールすると、Pathはユーザー環境変数に設定された。しかしsjis版ではシステム環境変数に設定された。(まあ、これはあんまり関係ないと思う)
  2. sjis版をインストール後、初期起動すると前回のリポジトリ設定がそのまま引き継がれていた。
  3. レジストリに「CVS」キーが残っていた。

回避策

  • 標準版CVSNTをアンインストールする。
  • リポジトリディレクトリを削除する。
  • レジストリを削除する。
    「HKEY_LOCAL_MACHINE」→「SOFTWARE」→「CVS」以下すべて
  • 環境変数を確認する。ユーザー環境変数のPathからCVSへのパスが削除されているかチェックする。
  • sjis版CVSNTをインストールする。