CVSの使い方

$Id: cvs.html,v 1.5 2001/07/10 04:23:07 hamano Exp $

注意: 今の段階では、あくまでも自分のためのメモです。 これ見てやってうまくいかなくても僕に怒らないで下さいね。 御意見、御感想は大歓迎です。

init

まずはじめに、CVS repositoryの置き場所の初期化をします。 環境変数CVSROOTにrepositoryの置き場所(cvsroot)を設定します。 そして、そのディレクトリでcvs initをします。
% setenv CVSROOT $SOMEWHERE/cvsroot
% mkdir -p $SOMEWHERE/cvsroot
% cd $SOMEWHERE/cvsroot
% cvs init

import

次に、必要なファイルをCVSの管理下に置くためのimportをします。 CVSで管理したいディレクトリをhogeとしますと、
% cd $ELSEWHERE/hoge
% cvs import hoge hamano start
のようにします。 ここで、hogeはモジュール名、hamanoはvendor tag、startはrelease tagと いうものです。 ま、とりあえずモジュール名だけ気にすればよいでしょう。 これで、hogeディレクトリ以下をCVSの管理下に置くことができました。

checkout

そして、このCVSモジュールをローカルな環境に持ってきます。 さきほどimportしたときのホストがremoteで、 今作業しているホストがlocalという名前だとすると、
local% setenv CVS_RSH ssh
local% cvs -d remote:$SOMEWHERE/cvsroot co hoge
とします。 coとはcheckoutの略で、hogeモジュールをCVS管理下から持ってくる (checkoutする)ためのものです。

commit

あとはローカルな環境で好きなだけ作業して、 それらをrepositoryに反映させるだけです。 作業を反映させるためには、commitを行ないます。
local% cvs commit

update

自分一人で、しかも一つのマシンで開発してたら必要無いかもしれないけど、 複数人数 and/or 複数マシンで開発してると、 他でcommitされた分をupdateしたくなります。 そんなときには、updateを行ないます。
local% cvs update
updateはしたくないけど、どれだけupdateされたかだけ見たいときは、-n optionを付けます。 すると実際にはupdateされずに、どうupdateされるかを見ることができます。
local% cvs -n update

tag

ある程度開発が進んできたら、 その時点のsnapshotを残せるようにしたいと思うことがあります。 そこで使うのが、上ではとりあえず気にしなかったrelease tagです。 tagの付け方は、 例えば"snap-20010706a"というtagを付けたければこんなふうにします。
local% cvs tag snap-20010706a
こうやっておけば、のちのちこのversionを取り出したいときに便利です。
local% cvs co -r snap-20010706a hoge

tips

% cvs -d host:$SOMEWHERE/cvsroot ...
と毎回やっとけば、remoteかlocalかを気にすること無しに使えます。 めんどくさかったら、CVSROOT環境変数にこの情報を埋め込んどけばOKです。
% setenv CVSROOT host:$SOMEWHERE/cvsroot
でもcommitとかupdateとかは、 各ディレクトリにあるCVSディレクトリの中にあるRootというファイルに 記憶されているので、明示的に指定する必要は無いと思います。

続きはそのうちね... :-)


Back / Back to HOME
hamano@tokoro-lab.org