CVS(Concurrent Versions System)

バージョン管理システム CVS(Concurrent Versions System)
リポジトリ―と呼ばれるデータエリアに登録されたファイルの履歴を保持しておき、履歴の参照、最新との比較、更新が可能なシステム
※一つのファイルを、同時に修正可能

CVS サーバ構築

1.サーバー側のインストール(Linux)
  @CVSモジュールを取得
   cvs-x.yy.z.tar.gz (x.yy.z はバージョン番号) で圧縮されている。
   (今回はhttp://www.aqut.homeip.net/download/cvs/ より
   cvs-jp-1.11.1p1-3.tar.gzを入手)

  A適当なフォルダ(今回は/usr/local/src)へ、コピーし移動

  Bメーク&インストール

#tar -zxvf cvs-jp-1.11.1p1-3.tar.gz   解凍
# cd cvs-1.11.1p1/            下位ディレクトリへ移動
#./configure
#make
#make install

2.CVSの設定
  @CVSリポジトリ―用にディレクトリを作成(/var/cvsroot と仮定)
#mkdir cvsroot
#cvs init

  初期化終了

  A環境設定

#cd
#vi .bashrc

  以下を記述して反映

CVSROOT="/var/cvsroot"
CVSEDITOR="/bin/vi"

export CVSROOT
export CVSEDITOR

#source .bashrc

  BCVS を利用するユーザを作成
     (1)/var/cvsroot/CVSROOT/passwd を作成
     (アカウントの作成には、/usr/local/apache2/bin/htpasswd を使用)
     (htpasswd は apache などに含まれている)

#cd /var/cvsroot/CVSROOT/
#su -c '/usr/local/apache2/bin/htpasswd -c passwd 『ユーザ 1』'
#su -c '/usr/local/apache2/bin/htpasswd passwd 『ユーザ 2』'
#su -c '/usr/local/apache2/bin/htpasswd passwd 『ユーザ 3』'

     ※ユーザを作成する初回時のみ、-c オプションをつける
     暗号化を使えば、passwdに直書きでも可
     (crypt dl(適当なアルファベット) パスワード >> $CVSROOT/CVSROOT/passwdなど

     (2)passwdファイルを編集(vi passwd)

『ユーザ1』:xxxxxxx
『ユーザ2』:xxxxxxx
『ユーザ3』:xxxxxxx

     上記のように記述されているので、後ろに : をつけて、
     リポジトリを操作するユーザを設定(存在するアカウントを指定)

     『ユーザ1』:xxxxxxxxxx:cvs
     cvsユーザ名:パスワード:リポジトリ操作ユーザ名

     cvsユーザ名はサーバのユーザとして存在しないアカウントでも可

  Cサービス名の確認
/etc/services に cvspserver があるかを確認
(grep cvspserver /etc/services)

cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations

上記文がない場合、追加
(今回は存在したため、そのまま)

   D/etc/inetd.conf にエントリーを追加
  リモートから CVS に接続要求の際、 自動起動するよう、以下の文を追加
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/var/cvsroot pserver

  ※inetd.conf は古く、現在はxinetd.confが主流
  よって、今回は、以下の(D)の操作の方を実行

  (D)/etc/xinetd.d下に、cvspserverを新規作成
service cvspserver
{
socket_type = stream
user = root
wait = no
server = /usr/bin/cvs
server_args = -f --allow-root=/var/cvsroot pserver
}

  Exinetd 再起動
  /etc/init.d/xinetd restart


※ 共用する際の、最低限のルール
・コンパイルの通るものをコミット
・テストを通ったものをコミット
・コメントを必ず書く


※検索でいらした方への注意

当コーナーは、管理人の苦労により、一応作ってみたあくまで参考用設定方法であり、実はこのサイトはレビュー・紹介等を扱ったゲーム系サイトなので、二個以上戻ると、ゲームサイトへ出ます。
会社で就業中に調べている方は、くれぐれも二個以上戻らないように。

戻る