CVSを用いた開発では、以下のように行ないます。
※ CVSを利用するには、サーバーにも、ローカルなホストにも CVSがインストールされている必要があります。
開発しているソースを管理しているCVSサーバーが管理しているファイル の置き場所をCVSROOTに設定します。
CVSサーバーにrshやsshでログインできる環境の場合には、 例えば、 cluster01というホストに nakamaというアカウントで rsh で入ることが可能であり、 CVSのルートディレクトリが /home/cvsroot の場合には、 CVSROOTという環境変数の値を、 :ext:nakama@cluster01:/home/cvsroot という値にします。 また、CVS_RSH にリモートで利用するコマンド rsh/ssh を設定します。
(a) csh 及び tcsh を使っている人は ~/.cshrc に以下の行を追加します。 setenv CVSROOT :ext:nakama@cluster01:/home/cvsroot setenv CVS_RSH rsh (b) bash を使っている人は、~/.bashrc に以下の行を追加します。 export CVSROOT=:ext:nakama@cluster01:/home/cvsroot export CVS_RSH=rsh
CVSサーバーにアカウントが無い場合には、 CVSサーバーで、pserverが利用可能である必要があります。 pserverがguestというアカウントで利用できて、 CVSのルートディレクトリ(これをレポジトリと呼びます) がdolphinというホストの /home/cvsroot にある場合には、 CVSROOTという環境変数の値を、:pserver:guest@dolphin:/home/cvsroot という値にします。
(a) csh 及び tcsh を使っている人は ~/.cshrc に以下の行を追加します。 setenv CVSROOT :pserver:guest@dolphin:/home/cvsroot (b) bash を使っている人は、~/.bashrc に以下の行を追加します。 export CVSROOT=:pserver:guest@dolphin:/home/cvsroot
cvsがインストールされている環境では、通常はパスが通っていると思いますが、 そうでない場合には cvs というコマンドにパスを通す必要があります。 例えば、/usr/local/cvs/bin の下に cvsコマンドがある場合には、 以下のように設定します。
(a) csh 及び tcsh を使っている人は ~/.cshrc に以下の行を追加します。 set path = ( $path /usr/local/cvs/bin ) (b) bash を使っている人は、~/.bashrc に以下の行を追加します。 PATH=${PATH}:/usr/local/cvs/bin
ソースを登録する方法は後で説明します。 ここでは最初にソースを持ってくる手順を説明します。 例えば、CVSに登録されれいる sigma というディレクトリ 以下のソースを持ってきたい場合には、 ソースを置きたいディレクトリ上で、以下のコマンドを入力します。
# cvs checkout sigma
これでカレントディレクトリの下に sigma というディレクトリが作成され、 その下にソース群がコピーされます。 今後は、このディレクトリ以下で作業をする事になります。 これを作業用ディレクトリと呼びます。 ここで、持ってきたソース群の実体は、 環境変数CVSROOTで指定したディレクトリ直下の sigma というディレクトリ以下に格納されています。 (つまりcluster01:/home/cvsroot/sigmaなど) この sigma をレポジトリ名と呼んでいます。
1日の作業は、update → ソースの編集 → commit → update の繰り返しです。
多人数で開発している場合には、 いつ誰がソースを修正しても良い事が前提ですので、 まずは自分の作業用ディレクトリのソースを最新にしておきます。 これには、update コマンドを使います。 dfemディレクトリ(作業用ディレクトリにcdして)に移って、 以下のコマンドを入力します。
# cvs updateこれで、ディレクトリ以下のすべてのソースが最新と同じものになります。 update したファイルがあればそれを教えてくれます。 何かをする前には、つねに update をする癖をつけましょう。
update後の最新のソースを修正します。 ここで修正しただけではCVSのサーバーには反映されません。
修正したソースをサーバーに反映するには以下のようにします。
# cvs commit -m 'some-comment'
これで、修正したソースがCVSサーバーに反映されます。 ここで、'some-comment' の部分には適当なコメントを入れます。 何の修正をしたのかを入れておいて下さい。これは必ず必要です。 -m オプションを忘れた場合には、エディタが立上りますので、 そこで適当に入力して下さい。
sigma以下にファイルを追加したい場合、 例えばsigma/fooというファイルを新たに作成して登録したい場合には、 cvs add コマンドを使います。すでに sigma/foo というファイルがあるとして、
# cd sigma # cvs add foo
しかし、これだけでは実際にレポジトリ内には登録されず、 登録するには commit を行います。
# cd sigma # cvs commit -m 'add foo'
いらなくなったファイルを削除したい場合には、 実際にファイルを削除して cvs remove コマンドを実行します。 例えば、simga/bar というファイルを削除する場合には以下のように行います。
# cd sigma # rm bar # cvs remove bar
CVSに最初にソース(テキストファイル)群を登録する方法を説明します。 カレントディレクトリの下に sigma というディレクトリがあり、 それ以下に幾つかのテキストファイルが置かれているとします。 例えば以下のようなコマンドで登録します。
# cd sigma # cvs import -m 'Imported version 1.0' sigma mizuho-ir start
ここで指定した、sigma という名前のディレクトリがレポジトリ直下に作成され sigma 以下のファイルが登録されます。 ここで、-m はコメントを登録するオプションで、 'Imported version 1.0'がコメントです。 sigma はレポジトリ名、mizuho-ir はベンダータグ、startはリリースタグです。
一度 checkout すると、CVSの方で管理されているので、開発を抜ける場合や、 デリートしたい場合、場所を移動したい場合には、release します。 dfem などのディレクトリの上で以下のようにします。
# cvs release -d dfem
これで dfem のディレクトリも削除されます。再度開発に加わる時には、 checkout からやり直します。