まずは、自分のホームディレクトリの中に データベース(レポジトリ)を置いて、CVS を使い始めましょう。
これなら、いくら失敗しても、誰にも気がねすることがありません。 好きなだけ練習をすることができます。
.cshrc ファイルに、次の記述を追加してください。
setenv CVSROOT $HOME/CVS_DB setenv CVSEDITOR "/usr/local/bin/mule -nw"少なくとも CVSROOT は必ず設定する必要があります。
環境変数 CVSEDITOR に、普段使用しているエディタを記述してください。 CVSEDITOR が宣言されていない場合は環境変数 EDITOR が参照されます。 mule のオプション -nw (no window)は好みでどうぞ。
csh/tcsh を使わない人は、.bashrc などを同様に編集します。
MEMO: 今後、ファイルを更新して commit するときには、コメントをつけてください。 CVSEDITOR は、そのコメントを編集するためのエディタです。 コメントに日本語を使う場合には、その漢字コードが常に同じである 必要があります。(TODO: そのためには?)
その通りにレポジトリを作りましょう。
% cd % mkdir CVS_DB % cvs initこれでレポジトリの初期化が終わりました。
% ls -a CVS_DB/CVSROOT/ . .#loginfo .. config,v loginfo rcsinfo .#checkoutlist .#modules checkoutlist cvswrappers loginfo,v rcsinfo,v .#commitinfo .#notify checkoutlist,v cvswrappers,v modules taginfo .#config .#rcsinfo commitinfo editinfo modules,v taginfo,v .#cvswrappers .#taginfo commitinfo,v editinfo,v notify verifymsg .#editinfo .#verifymsg config history notify,v verifymsg,vこれらは CVS の動作を設定するために必要なファイルなのですが、 実は、これらのファイルも、すでに CVS で管理されているのです。
その証拠に、CVSROOT というモジュールをチェックアウト/チェックインすることができます。
まぎらわしさを防ぐために、work というディレクトリを作成し、 その中で作業しましょう。
% mkdir work % cd work % cvs co CVSROOT cvs checkout: Updating CVSROOT U CVSROOT/checkoutlist U CVSROOT/commitinfo U CVSROOT/config U CVSROOT/cvswrappers U CVSROOT/editinfo U CVSROOT/loginfo U CVSROOT/modules U CVSROOT/notify U CVSROOT/rcsinfo U CVSROOT/taginfo U CVSROOT/verifymsgレポジトリの中の CVSROOT にはたくさんファイルがありましたが、 チェックアウトして取り出されるファイルは、拡張子のないファイルだけです。
CVS のレポジトリからモジュールをチェックアウトしたときには、 必ず作業ディレクトリに CVS というディレクトリが作られます。
ここには少なくとも3つのファイルが作成されます。
% cat CVSROOT/CVS/Entries /checkoutlist/1.1/Tue Aug 10 01:54:52 1999// /commitinfo/1.1/Tue Aug 10 01:54:52 1999// /config/1.1/Tue Aug 10 01:54:53 1999// /cvswrappers/1.1/Tue Aug 10 01:54:52 1999// /editinfo/1.1/Tue Aug 10 01:54:52 1999// /loginfo/1.1/Tue Aug 10 01:54:52 1999// /modules/1.1/Tue Aug 10 01:54:53 1999// /notify/1.1/Tue Aug 10 01:54:52 1999// /rcsinfo/1.1/Tue Aug 10 01:54:52 1999// /taginfo/1.1/Tue Aug 10 01:54:52 1999// /verifymsg/1.1/Tue Aug 10 01:54:52 1999// D % cat CVSROOT/CVS/Repository CVSROOT % cat CVSROOT/CVS/Root /home/speech/nishi/CVS_DBこれらの具体的な内容は、ここでは触れません。
ここで、チェックアウトしたモジュールに対する作業が終了したときの 手続きを覚えましょう。release と言います。
% cvs release -d CVSROOT You have [0] altered files in this repository. Are you sure you want to release directory `CVSROOT': yここでは release すると同時にチェックアウトしたファイルの削除も行うため、 cvs release に -d オプションをつけて実行しています。
release と、ただ rm -r でファイルを削除することとの違いは、 本当に放棄しても良かったのかどうかを確認してもらえること、 そして、「私はこのモジュールを放棄しました」という記録がきちんと レポジトリに残ること、です。