diff
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行は
このように表示します。
*はじめに
CVS は,バージョン管理システムの一つです.このページは,CVS の簡単な使い方について記したメモです.
*CVS リポジトリの設定
まずはじめにやることは,ファイルの貯蔵庫である''リポジトリ''を,サーバとなるマシン上に作成することです.
サーバのホスト名を,cvs-server,FQDN を cvs-server.jp としておきます.
----
# apt-get install cvs # ← これはDebian Linux の場合.
# export CVSROOT=/home/cvs
# cvs init
# chmod a+w /home/cvs/CVSROOT/history # あまりよくないが,エラーが出るので仕方ない
# mkdir -p /home/cvs/dir1/module1
# chmod a+w /home/cvs/dir1/module1
# chgrp mod1grp /home/cvs/dir1/module1 # mod1grp グループのユーザが使う
----
これで,/home/cvs にリポジトリが作成され,サブディレクトリ 'dir1' の下に モジュール 'module1' ができました.このモジュールは,mod1grp グループのユーザによって利用されます.
*クライアント側の設定
CVSを,リモートのクライアント上のユーザから利用することを考えます.クライアントのホスト名は cvs-client,FQDN を cvs-client.jp としておきます.mod1grp のユーザアカウント cvsuser1 から利用するものとします.通信プロトコルには ssh を使用します.
Hey hey hey, take a gadenr at what' you've done
**クライアント上のユーザの設定
-.bashrc などに書くもの.
----
export CVSROOT=:ext:cvs-server.jp:/home/cvs
export CVS_RSH=ssh
export EDITOR=vi
----
-''$HOME/.cvsrc'' に書くもの
----
cvs -q
diff -u
up -dP
----
-その他
--一度,ssh cvs-server.jp しておき,''.ssh/known_hosts'' にローカルホストの情報を入れておく
*サーバ側の設定
**サーバ上のユーザ・アカウントの設定
CVSファイルを共有するため,作成するファイルには必ず''グループ書き込み権限''をつけておく必要があります.
''$HOME/.bash_profile'' (bash の場合)において,
umask 002
としておきます.
*CVSを使う
ここまで設定すると,ようやくCVSを使うことができます.
**ファイルをインポートする
最初は,モジュールの中身は空なので,クライアントからインポートします.
インポートしたいファイルのあるディレクトリを,$CLIENT_WORK_DIR とします.
$ cd $CLIENT_WORK_DIR
$ cvs import -m 'initial' dir1/module1 semblog_org initial
**チェックアウトする
インポートしたら,''チェックアウト''します.チェックアウト先のディレクトリが,今後の作業ディレクトリとなります.なお,インポートに使用したディレクトリは,そのまま使えないので退避します.
----
$ cd $CLIENT_WORK_DIR/../
$ mv -f $CLIENT_WORK_DIR ${CLIENT_WORK_DIR}_old # とりあえず,名前を変えておく
$ mkdir $CLIENT_WORK_DIR # 新しく,作業用ディレクトリを用意
$ cvs co -d $CLIENT_WORK_DIR dir1/module1 # 作業ディレクトリにチェックアウト
----
作業ディレクトリの下のすべてのディレクトリに,''CVS/'' というディレクトリができているはずです.
**日々の作業の流れの例($CLIENT_WORK_DIR ディレクトリにて)
----
$ cvs up # ← 重要.作業前には,必ずこれをする.
# ローカルの作業領域が最新に保たれる
$ vi file1 # 何らかの作業
$ cvs add file_new # 新しいファイルを追加
$ cvs ci -m 'コメント' # 編集や追加をリポジトリに反映
$ vi file_new # 何らかの作業
$ cvs remove file_new # でも,いらなくなったので削除
$ cvs ci -m 'コメント' # 削除をリポジトリに反映
$ cvs log -h # 気になったのでログを見てみる
$ vi file2 # 何らかの作業
$ cvs diff # リポジトリとの差分を見る
$ cvs ci -m 'コメント' # リポジトリにチェックイン
----
*参考
-[[CVSを使ってみよう http://shimaki-hp.hp.infoseek.co.jp/cvs/book1.html]]
-[[バージョン管理システムCVSを使う http://www.radiofly.to/nishi/cvs/]]
-[[CVS(Japanese) http://www.linkclub.or.jp/~tumibito/soft-an/cvs/cvs-man/]]