基本的にはマルチユーザであることを軽く認識して下さい。大体の事は
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して下さい。
操作をするに当たってstatusや
log等のコマンドが便利です。