マルチユーザでの作業

注意点

基本的にはマルチユーザであることを軽く認識して下さい。大体の事は cvsが管理してくれますので安全です。でも、無用のトラブルを起こさない ように軽く意識することが必要です。
具体的には編集を開始する前に " cvs update " を行う事位ですね。

ソースの修正方法

基本的な流れはチェックアウト(レポジトリに登録したファイルを取り出すこと)して修正してコミット(取り出したファイルをレポジトリに登録すること)します。この中で修正に関しては好きなエディタで好きに修正して良いです :-D
そして、修正したくなったら、updateしてからまた修正してcommitして下さい。チェックアウトからやり直す必要はありません。
一人で使う時と大きく違うのは修正を始める前に " cvs update " を実行することです。 これにより手元にあるソースが最新になります。

手元のソースの更新

更新したいディレクトリに移動して

cvs update

を行うと手元のソースが最新になります。
この時メッセージが表示されることがあります。 そのメッセージについて解説します。

cvs update: Updating .
M filename.txt

上記は ローカルのfilename.txt が修正されていると言う意味です。
おそらく、commit を忘れていたのでしょう。;-P
commit しましょう。

さて次ですが、
cvs update: Updating .
RCS file: /home/kawa/CVS_DB/ct/filename.txt,v
retrieving revision 1.3
retrieving revision 1.4
Merging differences between 1.3 and 1.4 into filename.txt
rcsmerge: warning: conflicts during merge
cvs update: conflicts found in filename.txt
C filename.txt

上記は簡単に言うと(あなたがfilename.txtを修正している最中に誰かが commit したのでバージョンが1.4になったので)バージョン1.3から1.4の 差分をfilename.txtにマージしました。と、言うことです。
差分はfilename.txtに取り込まれているのでエディタで修正してから commitして下さい。

手元のソースのコミット

更新したいディレクトリに移動して

cvs commit

基本的には今までと同じです。
大きく違うところは誰かが同じファイルを修正している可能性がある という所です。
この時メッセージが表示されます。 そのメッセージについて解説します。
cvs commit: Examining .
cvs commit: Up-to-date check failed for `filename.txt'
cvs [commit aborted]: correct above errors first!

上記のメッセージはfilename.txtファイルに対して 自分が修正している間に誰かが同じファイルに修正してcommitしたので、 あなたのcommitをエラーで止めた。と言うことです。対処方法は 上記のupdateを行えばソースをマージしてくれますので、 そいつを修正してcommitして下さい。

操作をするに当たってstatuslog等のコマンドが便利です。


目次に戻る

$Id: maruti.html,v 1.3 2001/03/20 03:55:03 kawa Exp $