ローカルの場合 CVSROOT を作成 $ vi .bash_profile$ mkdir $HOME/.cvs $ cvs init 最初に一度だけ実行する
export CVSROOT=:local:$HOME/.cvs CVS のワークを指定 export CVSEDITOR=/usr/local/bin/vi checkout 等で起動するエディタを指定
モジュールの登録 module_1 という名前でモジュールを作成しました。 内容は、お馴染みの "Hello world." です。 重要なのはファイルの管理なので、内容はこの際どうでも良い。 $ cd module_1 module_1$ cat Makefile ; cat hello.cCVS にボリュームを登録する (カレントのみ。ディレクトリ指定は出来ません) module_1$ cvs import module_1 vendor-tag release-tag
Makefile # $Revision$ # $Date$ # $Author$ hello : hello.c gcc -o hello hello.c
hello.c // $Revision$ // $Date$ // $Author$ #include <stdio.h> main() { printf("Hello world.\n") ; }$CVSEDITOR で指定したエディタが自動的に起動しますmodule_1$ cd .. $ CVS に登録されたので、ディレクトリ "module_1" は削除しても構いません モジュールのメンテナンス (checkout,commit) CVS からボリュームを取り出してメンテナンス (バージョンアップ等) を行う (ディレクトリ "module_1" をまだ削除していないので、ここではディレクトリ "work" の中で作業します) $ mkdir work $ cd work work$ cvs checkout module_1 work/module_1$ cd module_1
CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: ---------------------------------------------------------------------- バージョン 1 です 初版のコメントを記述するボリュームのメンテナンスを行うwork/module_1$ cd .. work$ cvs commit module_1 変更を反映する$CVSEDITOR で指定したエディタが自動的に起動しますwork$ cd .. $ rm -Rf work 作業が終了したので削除しても構いません
CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in hello CVS: CVS: Modified Files: CVS: hello hello.c CVS: ---------------------------------------------------------------------- バージョン 2 です 改版のコメントを記述する
リモートの場合 以下は、CVS サーバとクライアントの設定と操作です。 cvspserver の設定 192.168.0.1 (CVS サーバ) を cvspserver として以下の設定を行う $ su # useradd -s /bin/bash cvs CVS 用ユーザの作成 (cvs init するためにシェルを使います) # passwd cvs ---(a) # su - cvs cvs$ cvs -d :local:$HOME init cvs$ exit # usermod -s /sbin/nologin cvs シェルは不要になったので削ります # cat > /etc/xinetd.d/cvs# /etc/rc.d/init.d/xinetd restart xinetd を再起動 # vi /etc/hosts.allow
service cvspserver { flags = REUSE socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvs pserver log_on_failure += USERID disable = no port = 2401 }# vi /etc/sysconfig/iptables
cvs: 192.168.0.0/255.255.255.0# /etc/rc.d/init.d/iptables restart iptables を再起動
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2401 --syn -j ACCEPT
cvspserver への操作 192.168.0.2 (CVS クライアント) から以下の操作を行う (ポートはデフォルトの 2401 を使います) $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs login CVS サーバへログイン $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs import module_1 module_1 を CVS サーバへ登録 $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs checkout module_1 module_1 を CVS サーバから取り出す $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs commit module_1 module_1 を CVS サーバへ反映させる $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs export -D now module_1 配布目的でモジュールを取り出す $ cvs :pserver:cvs@192.168.0.1:2401/home/cvs logout CVS サーバからログアウト ※ログイン時、パスワードを聞いてくるので (a) で設定したパスワードを入力する。