S-JIS[2007-03-04/2007-10-04] 変更履歴

CVSNT

Windowsで使えるCVS。(CVSサーバーおよびコマンドタイプのCVSクライアント)


インストール

下記サイトを参考にさせていただきました。

インストールの概要

所要時間は10分くらい。

  1. アーカイブ(cvsnt-2.5.03.2382.msi)をダウンロードする。
  2. ダウンロードしたファイルを実行する(ファイルをダブルクリックするか、右クリックから「インストール」を実行)
  3. インストーラーが起動するので、Nextボタンで次々進んでいく。
  4. Windowsを再起動するとインストール完了。

設定の概要

  1. 「スタート」→「プログラム(P)」→「CVSNT」→「CVSNT Control Panel」でCVSNTの設定用ダイアログを開く。
     
  2. Compatibility Options」タブで、右側の「Non-CVSNT Clients」グループの「Respond as cvs 1.11.2 to version request」と「Emulate '-n checkout' bug」にチェックを付ける。(eclipseから接続して使うには、設定しないといけないらしい)
     
  3. Repository configuration」タブで、「Add」ボタンを押して「Server Settings」ダイアログを開く。
     
  4. ダイアログに設定して「OK」ボタンを押す。
    項目 内容 備考
    Location CVSリポジトリー(CVSROOT)を置くディレクトリをフルパスで指定する。 C:/cvsnt/cvsroot  
    Name CVSリポジトリー(CVSROOT)の名前を決める。 /cvsnt/cvsroot pserverで接続するときの名前は、これを使う。
    これは、CVSROOTを作成するものっぽい。いわば「cvs init」コマンドが実行されるようだ。
     
  5. 「Server setteings」タブで、設定を変更する。
    項目 内容 備考
    Temporary Directory 作業ディレクトリ C:/cvsnt/cvstmp 何に使うんでしょうね??でもデフォルトのウィンドウズディレクトリは避けたいところ。
     
  6. 環境変数CVSROOT設定する。(CVSコマンドコマンドプロンプトから使うなら、設定しておくのが便利。そうでなければ不要)
    CVSROOT=C:\cvsnt\cvsroot
  7. pserverで接続する為のユーザーを作成する。
    コマンドプロンプトを起動し、以下のコマンドを実行する。 そのユーザーがログインする為のパスワードを聞かれるので、入力する。
    >cvs passwd -r Administrator -a hishidama
    内容
    -r Administrator 接続した際に使われる、WindowsにログインするユーザーID。
    -a 新規ユーザーを作るオプション。
    既存ユーザーのパスワードを変更するときには付けない。
    hishidama CVS接続で使用するユーザーID。
    これにより、%CVSROOT%\CVSROOT\passwdというファイルの中にユーザーの行が加わる。→ユーザーの削除

上記の設定をすると、pserverで接続するときのCVSROOTの文字列は、以下のようになる。

:pserver:hishidama@localhost:/cvsnt/cvsroot

EclipseのCVS設定で言うなら、こんな感じ↓

接続タイプ(C) pserver
ユーザー(U) hishidama
ホスト(H) localhost
リポジトリー・パス(A) /cvsnt/cvsroot

管理者権限

環境変数CVSROOTの内容がローカルディレクトリを指す形式でなくpserver形式の場合、 ユーザーの作成は管理者権限を持つユーザーでログインしてからでないと行えない。[2007-10-04]

↓実験の準備で、環境変数CVSROOTを設定

>set CVSROOT=:pserver:hishidama@localhost:/cvsnt/cvsroot

ログインせずにいきなりユーザーを作成しようとするとエラーになる。

>cvs passwd -r Administrator -a new_user
Empty password used - try 'cvs login' with a real password
cvs [passwd aborted]: authorization failed: server localhost rejected access to /cvsnt/cvsroot for user hishidama

ログインして、再挑戦。
(ちなみに、ログインする際のユーザーは環境変数CVSROOT内に指定されたユーザー

>cvs login
Logging in to :pserver:hishidama@localhost:2401:/cvsnt/cvsroot
CVS Password:

>cvs passwd -r Administrator -a new_user
Adding user new_user@localhost
New Password:
Verify Password:
cvs [server aborted]: Only administrators can add or change another's password

CVSの管理者(administrator)でないと他人のパスワードを追加したり変えたり出来ないってさ。
あるユーザーをCVSの管理者にするには、リポジトリ(CVSROOTのディレクトリ)の下のadminというファイル(デフォルトでは存在しない)内に そのユーザー名を書く。

>cd C:\cvsnt\cvsroot\CVSROOT
>copy con admin			←今回は(エディターを開くのが面倒だったので)コマンドラインからadminファイルを作った
hishidama
^Z
        1 個のファイルをコピーしました。

>type admin
hishidama

なお、adminファイル内に書かれた名前の右側にスペースが入っていたりすると駄目なので、echoコマンドでadminファイルに書きこむ場合には注意。

>echo hishidama >> admin	…×
>echo hishidama>> admin	…○

これで、ユーザーの作成が成功!

>cvs login
Logging in to :pserver:hishidama@localhost:2401:/cvsnt/cvsroot
CVS Password:

>cvs passwd -r Administrator -a new_user
Adding user new_user@localhost
New Password:
Verify Password:

ユーザーの削除

作成されたユーザーの一覧は、リポジトリ(CVSROOTのディレクトリ)の下のpasswdというファイルに書かれている。[2007-10-04]
このファイルから削除したいユーザーの行を消せば、そのユーザーではログインできなくなる。


LAN接続

LANで他のマシンからCVSNTに接続する場合、CVSNTの入ったマシンのファイアウォールCVSNTのポートへの接続を許可する必要がある。[2007-09-06]
CVSNTが使っているポート番号は、CVSNTの設定ダイアログで「Server Settings」タブを選択すると見られる。
『CVS server port』がpserverのポートで、デフォルトは2401。(CVS一般のデフォルト)
もしかすると『Lock Server』(ポート2402)も接続許可する必要があるかもしれない。


Eclipseとの相性

Eclipse(3.2)から新規にインポートする場合、ファイルが大量だと上手くいかない[2007-09-06]
同量のチェックアウトや更新は問題ない。なぜだ。なぞだ。


技術メモへ戻る
メールの送信先:ひしだま