Title: CVS でプロジェクトを始める


    Contents


1 プロジェクト開始

プロジェクトを開始する. そのために, まずは cvsroot を指定する 環境変数 CVSROOT と www.gfd-dennou.org へのアクセス方法を指定する 環境変数 CVS_RSH を設定する. (これらを指定しなくともコマンドに直接指定する方法もある).

$ export CVSROOT=:ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/hoge/cvsroot
$ export CVS_RSH=ssh

なお, www.gfd-dennou.org 内で作業をおこなう場合には

$ export CVSROOT=/GFD_Dennou_Club/ftp/arch/hoge/cvsroot

のみでも構わない.

次に, プロジェクトとして含むファイル群の位置まで移動する. 仮に /home/foo/hoge 以下にプロジェクトのソース, ドキュメントなど全て含め て置いてあるならば, まずそこへ移動する.

$ cd /home/foo/hoge

ここで cvs import コマンドを実行するとカレントディレクトリを先頭と して全てのファイルがインポートされる. 余計なファイルは全て消してお くこと. ( ドットファイル ( .*** ) は ls では見えないので ls -a でちゃんと探すこと).

掃除が終ったらプロジェクトを開始させる. 開始は以下のコマンドでおこなう.

$ cvs import -m \
  "HOGE (Hisotry Open General Engine) \
   Version 0 (Tentative Version)"  hoge0  hoge Initial
                   ↑               ↑     ↑    ↑
                 コメント   プロジェクト名 | リリースタグ
                                 ||        |
                            ディレクトリ名 |
                                          ベンダータグ

「プロジェクト名」はモジュールとも呼ばれるもので, これがリポジトリ 内部での置場の名前にもなる. ディレクトリ名かプログラム名でも書いて おけばよかろう.

「ベンダータグ」はリポジトリを共有している場合にソースのベンダーす なわち作者あるいは作成団体をあらわすものらしい. 個人で使っているな ら自分のログイン名でも書いておけばいいだろう.

「リリースタグ」は開始時の「タグ」である. 「タグ」は複数のファイル から成るであろうプログラムのある段階での「スナップショット」をとっ ておくためのものであり, この「リリースタグ」は最初の「スナップショッ ト」である.

上記コマンドの結果, 「No conflicts created by this import」 というような メッセージが出れば, インポート成功である.

2 プロジェクトのパーミッションの確認

プロジェクトのディレクトリのパーミッションを確認しておく.

$ ssh www.gfd-dennou.org
$ cd /GFD_Dennou_Club/ftp/arch/hoge/cvsroot
$ ls -l
drwxrwsr-x    3 foo hoge          53  8月 31 19:40 hoge0/

上記のようにグループが hoge で権限が rws の場合は問題ない. もしそうでないのなら, 以下のコマンドでグループとパーミッションを 変更すること.

$ chgrp hoge hoge0
$ chmod g+s hoge0
$ chmod g+w hoge0

なお, もしも hoge0 が上記のようなパーミッションになっていなかった 場合, それよりも下層ディレクトリのパーミッションもそれと同様な 可能性がある. それらに関してもグループとパーミッションを設定すること. 調べるには以下のコマンドが便利であろう.

$ ls -dl `find -type d`

3 プロジェクトの削除

正しくはどうしたら良いのか不明. リポジトリのmodule ディレクトリを rm -fr する?