プロジェクトを開始する. そのために, まずは 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」 というような メッセージが出れば, インポート成功である.
プロジェクトのディレクトリのパーミッションを確認しておく.
$ 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`
-r--r--r--
で問題ない. cvs コマンドを介せば, 正しく commit, add, remove
などが可能である.正しくはどうしたら良いのか不明. リポジトリのmodule ディレクトリを rm -fr する?