CVS(Concurrent Version System)は、バージョン管理に当たって排他制御を行わないように設計されています。しかし、開発者の経験が浅いなどの理由でマージ作業を任せるのが難しい場合は、更新者を1人に限定したいということもあるでしょう。ここでは、CVSの監視と編集通知を用いて排他制御に近い機能を提供する方法を紹介します。
[ウィンドウ(W)]メニューから[設定(P)]を選択します。 設定ダイアログが表示されたら、左のツリーから[ワークベンチ]→[ラベル装飾]を選択した状態で、[使用可能ラベル装飾]の[CVS]にチェックを入れます。これで、CVSの編集状況に応じて、アイコンが変更されるようになります。
続いて、左のツリーから[チーム]→[CVS]→[監視/編集]を選択し、[チェックアウト時に監視/編集を使用するようプロジェクトを構成(C)]にチェックを入れます。また、[エディターでの読み取り専用ファイルの変更時]の設定で[CVS編集通知をサーバーに送信する(E)]が選択されていることも確認しておいてください。
[CVSリポジトリー]ビューから監視対象とするモジュール名を右クリックし、コンテキストメニューから[プロジェクトとしてチェックアウト(C)]を選択します。
次に、チェックアウトしたプロジェクトが監視対象になっていることを確認します。パッケージ・エクスプローラーからプロジェクト名を右クリックし、コンテキストメニューから[プロパティー(R)]を選択します。[(アプリケーション名)のプロパティー]ダイアログの左のツリーで[CVS]を選択したときに、[このプロジェクトの監視/編集を可能にする]にチェックされていれば問題ありません。
ソースファイルを編集する場合には、対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[編集(E)]を選択します。
これにより、ファイルのアイコンが人のマークに変わります。ローカルのソースを編集したり、ファイルを追加した場合、プロジェクトルートから“>”表示をたどっていくことで、自分が編集(追加)しているファイルが分かります。
なお明示的に[チーム(E)]→[編集(E)]の操作を行わなくても、エディタから変更を加えると自動的にソースファイルがチェックアウトされてしまうので注意してください。
編集中のユーザーを確認するときは、対象ファイルもしくはディレクトリを右クリックして、コンテキストメニューから[チーム(E)]→[エディターを表示]を選択します。この操作によって、本人を含めた編集中のユーザー一覧が表示されます。
編集を行ったファイルをサーバへコミットしたいときは、 編集中の対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[コミット(C)]を選択します。この操作によって、編集内容がサーバに反映され、ステータスは「未編集」へと変更されます。
編集を行ったファイルを元の状態に戻したいときは、 編集中の対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[未編集(N)]を選択します。この操作によって、ローカルのファイルはサーバ上の最新状態へと戻され、ステータスは「未編集」へと変更されます。
編集しようとしているファイルがほかの開発者によってすでに編集中だった場合は、編集するかどうかを確認するダイアログが表示されます。この場合、編集を開始すれば、コミット時にマージ作業が発生する可能性があることが分かります。
これらの設定や操作を行うことによって、CVSでも排他的な開発を行うことができるようになります。
Copyright © ITmedia, Inc. All Rights Reserved.