NetBeans IDE の新しい Subversion サポート機能
NetBeans IDE の最新版では、アップデートセンターからダウンロード可能な Subversion 1.3 または 1.4 と統合できるモジュールが用意されています。IDE の Subversion サポート機能は、最も頻繁に行われるユーザータスク、とりわけ IDE のプロジェクト機能に組み込まれるものに焦点を当てて設計されています。操作方法は IDE に従来から存在する CVS との統合機能と非常に似ています。
訳注: 日本語化された NetBeans IDE を使用してアップデートセンターから Subversion モジュールをインストールしてください。Subvesion サポート機能のメニュー等は日本語で表示されます。
このガイドでは IDE 上であつかうソースファイルを Subversion によって管理する際の情報や、重要な機能の概要について説明します。
はじめに
新たに開発された Subversion サポート機能は、NetBeans IDE 5.5 と NetBeans IDE 6.0 開発ビルドの両方で使用できます。NetBeans 5.0 では使用できません。IDE は以下の URL からダウンロードすることができます。
http://www.netbeans.info/downloads/index.php
インストールが完了したら、「ツール」 > 「アップデートセンター」 を選択し、Subversion サポート機能を IDE のアップデートセンターからインストールしてください。Subversion モジュールはアップデートセンターの Features カテゴリ内に置かれています。
CVS コマンドが IDE 内に組み込まれている CVS サポート機能とは異なり、Subversion サポート機能を動かすためにはバージョン 1.3.0 以降の Subversion クライアントをインストールする必要があります。
Subversion のソースおよびバイナリファイルは http://subversion.tigris.org/project_packages.html からダウンロードすることができます。
注記: Subversion のサイトではバイナリダウンロードの品質について保証しているわけではありませんが、(バイナリダウンロードの方が) 容易に使用可能であることは確かです。例えば、Microsoft Windows システム向けのバイナリ実行可能ファイルは、IDE がインストール済み Subversion を検出するための環境変数をセットアップします。
作業ディレクトリのセットアップ
ここは簡単な手順です 何もする必要はありません。IDE は自動的に開かれているプロジェクトをスキャンして、もし .svn ディレクトリが存在した場合には Subversion 上のファイルステータスを表示し、Subversion コマンドをメニュー上に表示します。
Subversion からの新しいプロジェクトのチェックアウト
チェックアウトされたプロジェクトのソースが未だ存在しない場合には、IDE 上からチェックアウトすることができます:
- メインメニューから「Subversion」 > 「チェックアウト」を選択
- リポジトリ URL フィールド上で、ソースをチェックアウトするリポジトリの URL を入力
IDE は複数の URL プロトコルをサポートします。file、http、https、svn、svn+ssh がサポートされます。選択されたプロトコルに応じて、入力すべきフィールドが追加表示されます。
- 「チェックアウトするフォルダ」ページで以下の手順を実行:
- 「リポジトリフォルダ」フィールドで、チェックアウトしたいフォルダを入力もしくは参照。「リポジトリフォルダを参照」ダイアログボックスでは、Ctrl キーを押しながらクリックすることによって複数のフォルダを選択できます
- 必要に応じて「リポジトリリビジョン」フィールドでリビジョンを指定
- 「ローカルフォルダ」フィールドで、ファイルをチェックアウトしたいフォルダを指定
IDE が Subversion のチェックアウトコマンドを実行し、「出力ウィンドウ」に結果を出力します。
一旦ファイルがチェックアウトされたら、IDE は以下のいずれかを実行します:
- チェックアウトしたモジュールに NetBeans プロジェクトのメタデータが含まれる場合には、プロジェクトを開くかどうか確認
- モジュールに NetBeans プロジェクトメタデータが含まれない場合には、ソースから新しいプロジェクトを作成するかどうか確認し、作成する場合には「新規プロジェクト」ウィザードを実行
ファイルステータスや相違点を見る
ファイルに関するステータスを見るために、IDE では複数の方法が用意されています:
- プロジェクト、フォルダ、およびパッケージノードにバッジが付けられ、ノード内に含まれるファイル群のステータスを知ることができます
- それぞれのファイルノードはステータスに応じた色によって表示されます
- 「相違」コマンドは、単一のファイルまたはパッケージやプロジェクト全体の相違点を簡単に表示させることができます
- 「バージョン管理」ウィンドウでは、変更済み、新規、削除、ファイルが古いか否かの情報がリアルタイムに、あらゆるディレクトリに対して表示されます
バッジと色表示
IDE はファイル、フォルダ、パッケージ、およびプロジェクトのステータスを、以下の表に示されたバッジまたは色によって表示します。
 |
フォルダまたはパッケージノードに青いバッジ |
フォルダまたはパッケージが、ローカルで変更または追加されたファイルを含む場合に表示されます。パッケージの場合には、そのパッケージについてのみのステータスとなり、サブパッケージのステータスは含まれません。通常のフォルダの場合には、そのフォルダとすべてのサブフォルダのローカルでの変更を検出して表示します。 |
 |
フォルダまたはパッケージノードに赤いバッジ |
フォルダまたはパッケージが、衝突したファイル (ローカルファイルとの衝突) を含む場合に表示されます。パッケージの場合には、そのパッケージについてのみのステータスとなり、サブパッケージのステータスは含まれません。通常のフォルダの場合には、そのフォルダとすべてのサブフォルダのローカルでの変更を検出して表示します。 |
 |
青色のファイル名 |
ローカルでファイルが編集されたことを示します。変更および新規追加の両方を含みます。 |
 |
赤色のファイル名 |
ファイルが衝突 (<<<<< と >>>>> によってマーク付けされたセクション) を含むことを示します。このステータスのファイルには「Subversion」/「衝突を解決」コマンドを実行する必要があるかもしれません。
|
 |
灰色のファイル名 |
ファイルは Subversion によって無視され、すべてのバージョンコマンド (更新、コミット等) の対象外となります。 |
 |
水色のファイル名 |
ファイルがリポジトリ側で編集されていることを示します。新規追加、変更、および削除を含みます。
|
 |
取消線付きのファイル名 |
ファイルがコミットコマンドの対象外であることを示します。 |
「バージョン管理」ウィンドウでの変更の追跡
「バージョン管理ウィンドウ」は、選択されたディレクトリの変更内容をリアルタイムで表示します。例えば、Subversion の作業ディレクトリであるプロジェクトを右クリックして「Subversion」>「変更を表示」を選択すると、IDE の下部に以下のウィンドウが表示されます:
「バージョン管理ウィンドウ」は以下のリスト表示を行います:
- ローカルで編集されたすべてのファイル。ローカルでの変更、ローカルでの追加、およびローカルでの削除を含みます
- リポジトリで変更、追加、あるいは削除されたすべてのファイル
- 衝突が発生したすべてのファイル
ファイルに対する操作を行った都度、「バージョン管理」ウィンドウは自動的にどのファイルが編集されたかを表示します。ウィンドウでは以下の作業を行うことができます:
- ウィンドウ上部のボタンを使用して、「すべて」、「ローカル」での変更のみ、「リモート」すなわちリポジトリでの変更のみ、のいずれかでフィルタリング
- 特定のファイルをダブルクリックすることによるソースエディタ内での相違表示。あるいは
をクリックしてプロジェクトまたはディレクトリ全体の相違を表示
- ファイルを右クリックしてメニューからコマンドを実行
- ウィンドウ上部のボタンを使用してウィンドウ内に表示されているすべてのファイルの更新 (
) またはコミット (
)
相違の表示
IDE で相違の表示を行うためには以下の方法に従います:
- 任意のノードを「プロジェクト」ウィンドウまたは「お気に入り」ウィンドウで右クリックし、「Subversion」>「相違」を選択します。ファイル、フォルダ、あるいはパッケージやプロジェクトの相違を表示させることができます。
- 「バージョン管理」ウィンドウで「すべての相違を取得」ボタンをクリックし「バージョン管理」ウィンドウに含まれるすべてのファイルの相違を表示させることが
できます。
- 「バージョン管理」ウィンドウで単一のファイルをダブルクリックします
IDE はエディタ内のタブとして表示される「相違」表示によって相違点を表示します。「相違」表示は右側の区画に作業領域のファイルを表示し、左側の区画にリポジトリのファイルを表示します。Subversion サポート機能では、複数ファイルの相違点を一つのタブの中で表示させることができます。それぞれのファイルの相違点表示への切替には、コンボボックスを使用します。また、ローカルでの変更のみ、あるいはリポジトリでの変更のみのいずれかでフィルタリングすることもできます。

ファイルの更新とコミット
更新とコミットは、Subversion で最も一般的に行われるファイルに対する作業です。IDE ではこれらの作業を可能な限り簡略化しています。これらの作業は IDE の主なウィンドウ (プロジェクト、ファイル、お気に入り) から行うことも、「バージョン管理」ウィンドウから行うこともできます。
ファイルの更新
ファイルの更新は簡単です:
- プロジェクト全体を更新するには、一番良いのは「プロジェクト」ウィンドウでプロジェクトを右クリックして、「Subversion」>「変更を表示」を選択することです。これにより実際の更新を行う前に、どのファイルが更新されるのかを前もって知ることができます。その後に「すべて更新」ボタン (
) をクリックします
- 個々のファイルやディレクトリ、プロジェクトを更新するには、対象とするノードを右クリックして「Subversion」>「更新」を選択します
- 開かれているすべてのプロジェクトを更新するには、メインメニューから「Subversion」>「すべて更新」を選択します
ファイルのコミット
更新と同様に、「プロジェクト」ウィンドウからのコミット (右クリックして「Subversion」>「コミット」を選択)、「バージョン管理」ウィンドウからのコミット (
ボタンを使用)、メインメニューの Subversion からのコミット (開かれているすべてのプロジェクトのすべての変更をコミット)、を行うことができます。コミットコマンドの実行時には以下のダイアログが表示されます:

コミットダイアログは以下のリスト表示を行います:
- ローカルで変更されたすべてのファイル。コミットするか、またはコミットから除外することができます。
- リポジトリに存在しない、すべての新しいファイル。テキストファイルとして追加するか、バイナリファイルとして追加するか、あるいはコミットから除外することができます。
- ローカルで削除されたファイル。リポジトリから削除するか、コミットから除外することができます。
- 名前変更されたすべてのファイル。これらのファイルをコミットに含んだ場合、Subversion はリポジトリ内のファイルの名前変更を行います。
プロジェクトと Subversion
IDE の Subversion サポート機能によって、プロジェクトメタデータの共有が簡単に行えます。そのため、ソースだけではなく IDE の設定も共有することが可能です。IDE は自動的に build、dist、nbproject/private ディレクトリをチェックインから除外します。
プロジェクト設定の更新
すべてのプロジェクト設定は build.xml ファイルと nbproject ディレクトリ内のファイルに保存されます。IDE でプロジェクトノードに対して更新コマンド、またはコミットコマンドを実行したい場合には、ソースとプロジェクト設定の両方がコミットされます。Subversion コマンドをプロジェクト設定に対してのみ実行したい場合には、「ファイル」ウィンドウに移動し、build.xml と nbproject を右クリックして「Subversion」>「更新」、あるいは「Subversion」>「変更を表示」を選択してください。同様に、Subversion コマンドをソースに対してのみ実行したい場合には、最も適切な手順は、「ファイルウィンドウ」のソースフォルダ、または「プロジェクト」ウィンドウのソースパッケージノードに対して「変更を表示」を実行し、その後に「バージョン管理」ウィンドウから更新やコミットを行うことです。
Subversion にプロジェクトを追加
ローカルにプロジェクトを有している場合には、簡単に Subversion に追加することができます:
- プロジェクトの生成物を削除。これにより IDE はビルドによる出力結果を Subversion に追加しません
- 「プロジェクト」ウィンドウでプロジェクトノードを右クリックし、「Subversion」>「Subversion にインポート」を選択
- リポジトリを指定し、コメントを入力した後に「了解」をクリック。IDE はソースとプロジェクトメタデータを Subversion にインポートし、ローカルの Subversion ディレクトリに再度チェックアウトします。