EclipseのCVS機能で排他的な開発を行うJavaTips 〜Eclipse活用編

» 2004年06月08日 10時00分 公開

 CVS(Concurrent Version System)は、バージョン管理に当たって排他制御を行わないように設計されています。しかし、開発者の経験が浅いなどの理由でマージ作業を任せるのが難しい場合は、更新者を1人に限定したいということもあるでしょう。ここでは、CVSの監視と編集通知を用いて排他制御に近い機能を提供する方法を紹介します。

操作手順

(1)事前設定

 [ウィンドウ(W)]メニューから[設定(P)]を選択します。 設定ダイアログが表示されたら、左のツリーから[ワークベンチ]→[ラベル装飾]を選択した状態で、[使用可能ラベル装飾]の[CVS]にチェックを入れます。これで、CVSの編集状況に応じて、アイコンが変更されるようになります。

[CVS]をチェックして有効にする [CVS]をチェックして有効にする

 続いて、左のツリーから[チーム]→[CVS]→[監視/編集]を選択し、[チェックアウト時に監視/編集を使用するようプロジェクトを構成(C)]にチェックを入れます。また、[エディターでの読み取り専用ファイルの変更時]の設定で[CVS編集通知をサーバーに送信する(E)]が選択されていることも確認しておいてください。

CVSの監視/編集機能を有効にする CVSの監視/編集機能を有効にする

(2)監視対象とするプロジェクトのチェックアウト

 [CVSリポジトリー]ビューから監視対象とするモジュール名を右クリックし、コンテキストメニューから[プロジェクトとしてチェックアウト(C)]を選択します。

監視対象のプロジェクトのチェックアウト 監視対象のプロジェクトのチェックアウト

 次に、チェックアウトしたプロジェクトが監視対象になっていることを確認します。パッケージ・エクスプローラーからプロジェクト名を右クリックし、コンテキストメニューから[プロパティー(R)]を選択します。[(アプリケーション名)のプロパティー]ダイアログの左のツリーで[CVS]を選択したときに、[このプロジェクトの監視/編集を可能にする]にチェックされていれば問題ありません。

プロジェクトが監視対象になっているかの確認 プロジェクトが監視対象になっているかの確認

(3)ファイルのチェックアウト

 ソースファイルを編集する場合には、対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[編集(E)]を選択します。

ファイルのチェックアウト ファイルのチェックアウト

 これにより、ファイルのアイコンが人のマークに変わります。ローカルのソースを編集したり、ファイルを追加した場合、プロジェクトルートから“>”表示をたどっていくことで、自分が編集(追加)しているファイルが分かります。

パッケージ・エクスプローラーによる編集ファイルの確認 パッケージ・エクスプローラーによる編集ファイルの確認

 なお明示的に[チーム(E)]→[編集(E)]の操作を行わなくても、エディタから変更を加えると自動的にソースファイルがチェックアウトされてしまうので注意してください。

 編集中のユーザーを確認するときは、対象ファイルもしくはディレクトリを右クリックして、コンテキストメニューから[チーム(E)]→[エディターを表示]を選択します。この操作によって、本人を含めた編集中のユーザー一覧が表示されます。

編集中のユーザーの確認 編集中のユーザーの確認

(4)ファイルのコミット

 編集を行ったファイルをサーバへコミットしたいときは、 編集中の対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[コミット(C)]を選択します。この操作によって、編集内容がサーバに反映され、ステータスは「未編集」へと変更されます。

(5)チェックアウトの取り消し

 編集を行ったファイルを元の状態に戻したいときは、 編集中の対象ファイルを右クリックして、コンテキストメニューから[チーム(E)]→[未編集(N)]を選択します。この操作によって、ローカルのファイルはサーバ上の最新状態へと戻され、ステータスは「未編集」へと変更されます。

(6)ほかの人がチェックアウトしているときの操作

 編集しようとしているファイルがほかの開発者によってすでに編集中だった場合は、編集するかどうかを確認するダイアログが表示されます。この場合、編集を開始すれば、コミット時にマージ作業が発生する可能性があることが分かります。

競合が発生したときのダイアログ 競合が発生したときのダイアログ

 これらの設定や操作を行うことによって、CVSでも排他的な開発を行うことができるようになります。

Profile

WINGSプロジェクト

青木淳夫・奥山学


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。