基本的には <URL:http://www.gfd-dennou.org/library/cc-env/cvs/> を参考にして作業を行なう.
ここでは www.gfd-dennou.org の /GFD_Dennou_Club/ftp/arch/davis 以下に レポジトリを作成する.
まず www.gfd-dennou.org へログインする.
$ ssh www.gfd-dennou.org
ログインしたら /GFD_Dennou_Club/ftp/arch/davis/ まで移動する.
$ cd /GFD_Dennou_Club/ftp/arch/davis/
開発グループメンバーに書き込み権限を与えるように, グループと環境変数を変更する.
$ sg davis $ umask 002
ちなみに, 現在のグループは id コマンドで, umask は umask コマンドで 知ることができる.
準備が出来たら以下のコマンドを実行する. これで cvsroot ディレクトリが作成される.
$ cvs -d /GFD_Dennou_Club/ftp/arch/davis/cvsroot init
上記の umask 設定に加え, s ビットを立てるなどのパーミッションの設定が 必要となる. また cvs init コマンドで作成したディレクトリやファイルの中 にはグループ書き込み権限が無いものもあるので, 以下のように再設定する.
リポジトリ cvsroot パーミッションの設定
cvsroot 以下に作成されるファイル, ディレクトリのグループを davis に するため, cvsroot に s ビットを立て, 書き込み権限を与える. 念のためにグループも davis に設定する.
$ chmod g+s cvsroot $ chmod g+w cvsroot $ chgrp davis cvsroot
CVSROOT ディレクトリ本体: グループを davis とし, グループに書き込み権限を与える.
$ cd cvsroot $ chgrp davis CVSROOT $ chmod g+s CVSROOT $ chmod g+w CVSROOT
history, val-tags ファイル: CVSROOT 以下にある history, val-tags にグループ書き込み権限を与える.
$ cd CVSROOT $ chmod g+w history $ chmod g+w val-tags
history とはこのリポジトリ以下のプロジェクトに対して行なわれた checkout, commit, rtag, update, release を記録しているファイルである. cvs history コマンドで見ることが出来る (動作の詳細は cvs history -x コマンドを参照のこと).
ここではグループ davis で開発することを念頭に置くため, グループに書き込み権限を与えておく.
val-tags は検索を高速化するために, 有効なタグ名をキャッシュしている ファイルである.
davis プロジェクトではタグも使用するので, これにもグループ書き込み 権限を与える.
リモートホストで作業する場合, cvsroot を指定する環境変数 CVSROOT と www.gfd-dennou.org へのアクセス方法を指定する環境変数 CVS_RSH を設定する.
$ export CVSROOT=:ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/davis/cvsroot $ export CVS_RSH=ssh
www.gfd-dennou.org 内で作業をおこなう場合には, 以下のみでも構わない.
$ export CVSROOT=/GFD_Dennou_Club/ftp/arch/davis/cvsroot
次に, プロジェクトとして含むファイル群の位置まで移動する. ここでは /home/morikawa/davis 以下にプロジェクトのソースが展開されているとする.
$ cd /home/morikawa/davis
掃除が終ったらプロジェクトを開始させる. 開始は以下のコマンドでおこなう.
$ cvs import -m \ "gfdnavi (Geophysical Fluid Data Navigator)" gfdnavi davis Initial ↑ ↑ ↑ ↑ コメント プロジェクト名 | リリースタグ || | ディレクトリ名 | ベンダー
プロジェクトのディレクトリのパーミッションを確認しておく.
$ ssh www.gfd-dennou.org $ cd /GFD_Dennou_Club/ftp/arch/davis/cvsroot $ ls -l drwxrwsr-x 3 morikawa davis 53 8月 31 19:40 davis/
上記のようにグループが davis で権限が rws の場合は問題ない. もしそうでないのなら, 以下のコマンドでグループとパーミッションを 変更すること.
$ chgrp davis hogehoge $ chmod g+s hogehoge $ chmod g+w hogehoge