NetBeans IDEでのMercurialサポートの使用NetBeans IDEはMercurialバージョン管理クライアント・バージョン1.0.x以降をサポートしています。IDEのMercurialサポートにより、IDE内のプロジェクトから直接バージョン管理タスクを実行できます。このドキュメントでは、バージョン管理ソフトウェアを使用する場合の標準的なワークフローを説明することによって、IDEの基本的なバージョン管理タスクの実行方法を示します。 Mercurialは、非常に大きな分散プロジェクトを効果的に処理するために設計された、高速で軽量なソース制御システムです。CVSやSubversionとは異なり、Mercurialは、オープン・ソース・プロジェクトの多くで一般的に使用されており集中管理を行わずに分散開発をサポートする分散リポジトリを扱います。ファイルとディレクトリの両方にMercurialコマンドを使用できます。IDEはグラフィカルな差分ビューアを備えており、ファイル・リビジョンを比較でき、エディタで直接インライン差分もサポートしています。 IDEのMercurialサポートは、IDEのSubversionサポートに似ています。主な違いは、Mercurialが分散リビジョン管理システムであることです。ユーザーは一般に、操作する外部リポジトリをクローンすることから始めます。このクローンは、リビジョン履歴を含むリポジトリの完全なコピーです。必要な回数に応じてローカル・コピーをクローンできます。準備ができたら、権限があれば、ローカルで行った変更を元のリポジトリにプッシュし、権限がなければ、変更をエクスポートして、リポジトリ所有者に送信できます。 内容![]() 要件このチュートリアルを完了するには、次のソフトウェアとリソースが必要です。
Mercurialの設定IDEのMercurialサポートを活用するためには、システムにMercurialクライアント・ソフトウェアをインストールする必要があります。IDEがサポートしているMercurialクライアントのバージョンは1.04以降です。IDEのMercurialサポートは、Mercurialのコマンド行インタフェースと同じコマンドで動作します。 Mercurialは、ソースまたはバイナリ・パッケージのいずれかの形式で、Mercurial Webサイトからダウンロードできます。 Mercurial実行可能ファイルのパスをIDEに設定するには:
Mercurialクライアントの設定後に、IDEの「チーム」>「Mercurial」メニューから、Mercurialコマンドを実行できます。外部Mercurialリポジトリをクローンするには、「チーム」>「Mercurial」>「他をクローン」を選択します。クローンのプロセスで、IDEはクローンされるファイルのすべての履歴とステータス情報を自動的にインポートします。 既存のMercurialリポジトリがある場合、それらのファイルをIDEプロジェクトで開くか、それらを「お気に入り」ウィンドウに追加した場合に、IDEが自動的にそれらをバージョン管理されたファイルとして認識します。このファイルに対するMercurialコマンドは、Mercurialのメニューから、あるいはファイルまたはフォルダを右クリックしてMercurialのコンテキスト・メニューから選択することによって使用できます。 コマンド行を使用して、コンピュータにMercurialリポジトリを作成するには、次を入力します。 hg clone /path/to/your/repository 注意: NetBeans Mercurialリポジトリ(http://hg.netbeans.org/)は、このチュートリアルではデモの目的に使用します。 ローカル・ファイルとリポジトリの同期バージョン管理システムを使用する場合、ローカル・ファイルとリポジトリを同期させ、ローカル・コピーに変更を行い、それらをリポジトリにコミットすることによって作業します。次の一覧に、特定の状況に応じて、NetBeans IDEでプロジェクトを同期できる様々な方法を示します。 IDEでMercurialプロジェクトを開くIDEの外部で操作していたMercurialバージョン管理プロジェクトがすでに存在する場合、それをIDEで開くと、バージョン管理機能が自動的に使用可能になります。IDEは開いているプロジェクトをスキャンし、Mercurialバージョン管理プロジェクトに対して、ファイル・ステータスとコンテキスト依存のサポートを自動的にアクティブにします。 リポジトリからのファイルのチェックアウトIDEからリモート・リポジトリに接続し、ファイルをチェックアウトし、それらをすぐに操作する場合、次を実行します。
リポジトリへのファイルのインポートまたは、IDEで操作していたプロジェクトをリモート・リポジトリにインポートし、同期されるようになった後に、IDEでそれを引続き操作できます。 注意: 実際にはシステムからファイルをエクスポートしますが、「インポート」という用語は、バージョン管理システムで、ファイルがリポジトリにインポートされることを示すために使用されています。 プロジェクトをリポジトリにインポートするには:
ソースの編集Mercurialバージョン管理プロジェクトをIDEで開くと、ソースの変更を開始できます。NetBeans IDEで開く任意のプロジェクトと同様に、(「プロジェクト」(Windowsでは[Ctrl]-[1]、OS Xでは[Command]-[1])、「ファイル」(Windowsでは[Ctrl]-[2]、OS Xでは[Command]-[2])、「お気に入り」(Windowsでは[Ctrl]-[3]、OS Xでは[Command]-[3])などの) IDEのウィンドウで表示されているファイルのノードをダブルクリックすると、ファイルをソース・エディタで開くことができます。 IDEのソースを操作する場合、自由に使用できる様々なUIコンポーネントがあります。これらは、表示およびバージョン管理コマンドの操作で役立ちます。 ソース・エディタでの変更の表示IDEのソース・エディタでバージョン管理されたファイルを開くと、リポジトリから以前にチェックアウトした基本バージョンに照らしあわせながら、そのファイルに行われた変更がリアル・タイムで表示されます。作業に伴って、IDEはソース・エディタのマージンに色分けを使用し、次の情報を伝えます。
ソース・エディタの左側のマージンには、行ごとに発生した変更が表示されています。行を変更すると、その変更がすぐに左側のマージンに表示されます。 マージンの色のグループをクリックして、バージョン管理コマンドをコールできます。たとえば、左下のスクリーン・ショットは、赤いアイコンをクリックすると使用可能なウィジェットを示しており、ローカル・コピーから行が除去されたことを示します。 ソース・エディタの右側のマージンには、上から下に向かって、ファイル全体に行われた変更の概要が表示されます。ファイルに変更を行うと、すぐに色分けが生成されます。 マージンの特定の場所をクリックすると、インライン・カーソルがファイルのその場所にすぐに移動します。影響を受ける行数を表示するには、右側のマージンの色つきアイコンの上にマウスを動かします。
ファイルのステータス情報の表示「プロジェクト」(Windowsでは[Ctrl]-[1]、OS Xでは[Command]-[1])、「ファイル」(Windowsでは[Ctrl]-[2]、OS Xでは[Command]-[2])、「お気に入り」(Windowsでは[Ctrl]-[3]、OS Xでは[Command]-[3])、または「バージョン管理」ウィンドウで作業する場合、IDEには、ファイルのステータス情報を表示するのに役立つ視覚機能がいくつかあります。次の例では、バッジ(例: 注意: ステータス・ラベルは、「バージョン管理」、「プロジェクト」および「ファイル」ウィンドウのファイル・ステータスをテキストで示します。ステータス・ラベルを表示するには、メイン・ツールバーから「表示」→「バージョン・ラベルを表示」を選択します。 バッジ、色分け、ファイル・ステータス・ラベル、およびおそらく最も重要なバージョン管理ウィンドウはすべて、効果的な表示および管理能力、およびIDEでのバージョン管理情報に貢献します。 バッジと色分けバッジはプロジェクト、フォルダおよびパッケージ・ノードに適用され、そのノードに含まれているファイルのステータスを示します。 バッジに使用される色のスキームを次の表に示します。
色分けは、リポジトリに照らして、現在のステータスを示す目的でファイル名に適用されます。
ファイル・ステータス・ラベルファイル・ステータス・ラベルは、バージョン管理ファイルのステータスを、IDEのウィンドウにテキストで示します。デフォルトで、IDEは、ファイルをウィンドウに一覧表示するときに、そのファイルの右側にステータス情報(新規、変更済、無視など)およびフォルダ情報をグレー・テキストで表示します。ただし、この形式は独自のものに変更できます。たとえば、リビジョン番号をステータス・ラベルに追加する場合は、次を実行します。
ファイル・ステータス・ラベルは、メイン・メニューから「表示」>「バージョン・ラベルを表示」を選択して、オンとオフを切り替えできます。 バージョン管理ウィンドウMercurialバージョン管理ウィンドウは、ローカルの作業コピーの選択されたフォルダ内でファイルに行われた変更のすべてを、リアル・タイムで一覧表示します。これはIDEの下のパネルにデフォルトで開き、追加、削除または変更されたファイルを一覧表示します。 バージョン管理ウィンドウを開くには、(「プロジェクト」ウィンドウ、「ファイル」ウィンドウまたは「お気に入り」ウィンドウなどから)バージョン管理ファイルまたはフォルダを選択し、右クリック・メニューから「Mercurial」>「変更を表示」を選択するか、またはメイン・メニューから「チーム」>「Mercurial」>「変更を表示」を選択します。IDEの最下部に次のウィンドウが表示されます。 デフォルトでは、「バージョン管理」ウィンドウは、選択されたパッケージまたはフォルダ内の変更されたすべてのファイルを一覧表示します。ツールバーにあるボタンを使用することによって、すべての変更を表示するか、表示されるファイルの一覧をローカルまたはリモートで変更されたファイルに制限できます。一覧表示されたファイルの上にある列の見出しをクリックして、名前、ステータス、または場所でファイルをソートすることもできます。 「バージョン管理」ウィンドウのツールバーには、一覧に表示されているすべてのファイルに対して一般的なMercurialタスクを呼び出すことができるボタンも用意されています。次の表は、「バージョン管理」ウィンドウのツールバーにあるMercurialコマンドをまとめています。
「バージョン管理」ウィンドウで、変更したファイルに対応する表の行を選択し、右クリック・メニューからコマンドを選択すると、他のMercurialコマンドにアクセスできます。 たとえば、ファイルでは次のアクションを実行できます。
ファイル・リビジョンの比較ファイル・リビジョンの比較は、バージョン管理されているプロジェクトを操作する場合に一般的なタスクです。差分コマンドを使用すると、IDEでリビジョンを比較できます。差分コマンドは、選択した項目の右クリック・メニュー(「Mercurial」>「差分」>「ベースとの差分」または「Mercurial」>「差分」>「リビジョンとの差分」)および「バージョン管理」ウィンドウから使用できます。「バージョン管理」ウィンドウで、差分を実行するには、リストされているファイルをダブルクリックするか、上部のツールバーにある「すべて差分を取得」アイコン( 差分の取得を実行すると、選択したファイルとリビジョンについてグラフィカルな差分ビューアがIDEのメイン・ウィンドウで開きます。差分ビューアには2つのコピーが並んだパネルに表示されます。右側により現在に近いコピーが表示されるため、作業コピーに対してリポジトリ・リビジョンを比較すると、右パネルに作業コピーが表示されます。 差分ビューアは、バージョン管理の変更を表示する場所に使用されているのと同じ色分けを利用します。前に表示したスクリーン・ショットの緑色のブロックは、より現在に近いリビジョンに追加された内容を示します。赤いブロックは、前のリビジョンの内容が、より最近のリビジョンから除去されたことを示します。青は、強調表示された行で変更が発生したことを示します。 また、プロジェクト、パッケージまたはフォルダなどのグループで差分を実行する場合、あるいは「すべて差分を取得」( 差分ビューアには次の機能もあります。 ローカル作業コピーへの変更の実行ローカル作業コピーで差分の取得を実行する場合、IDEの差分ビューア内から直接変更を行うことができます。これを行うには、カーソルを差分ビューアの右ペインに置き、それに従ってファイルを変更するか、または強調表示された各変更の前後で表示されるインライン・アイコンを使用します。
比較したファイルの相違間をナビゲート差分に複数の違いが含まれている場合、ツールバーに表示された矢印アイコンを使用して、それらをナビゲートできます。矢印アイコンを使用すると、差分を上から下へ出現順に表示できます。
ファイル・リビジョンのマージNetBeans IDEでは、リポジトリ・リビジョンとローカル作業コピー間で変更をマージできます。具体的には、リポジトリ内の2つの別個の変更セットを、それらの組合せ方法を記述する新しい変更セットに組み合せます。
注意: リビジョンをローカル作業コピーにマージした後、それらをリポジトリに追加するには、「コミット」コマンドを使用して、変更をコミットする必要があります。 リポジトリへのソースのコミットソースに変更を加えた後は、それらをリポジトリにコミットします。一般に、競合が発生しないようにするため、コミットを実行する前に、リポジトリに照らして存在するコピーをすべて更新することをお薦めします。ただし、競合は発生する可能性があり、多くの開発者がプロジェクトを同時に操作する場合には自然な出来事であると考える必要があります。IDEでは、これらのすべての機能を実行できる柔軟なサポートを提供しています。さらに、競合が発生したときに、それらを安全に処理できる競合リゾルバも提供しています。 ローカル・コピーの更新更新を実行するには、メイン・メニューから「チーム」>「更新」を選択します。 変更したソースに対して更新を実行するには、「すべて更新」アイコン( コミットの実行ソース・ファイルの編集、更新の実行および競合の解決後、ローカル作業コピーからファイルをリポジトリにコミットします。IDEでは、次の方法でコミット・コマンドをコールできます。
「コミット」ダイアログが開き、リポジトリにコミットされるファイルが表示されます。 「コミット」ダイアログには、次が表示されます。
「コミット」ダイアログで、コミットから個々のファイルを除外するかどうかを指定できます。これを行うには、選択したファイルの「コミット・アクション」列をクリックして、ドロップダウン・リストから「コミットから除外」を選択します。 コミットを実行するには:
問題の更新問題を更新するには、リポジトリの問題トラッカで既存の問題にコミット・アクションを関連付けます。これを実行するには、「コミット」ダイアログ・ボックスの「問題を更新」見出しをクリックして展開し、次を指定します。
また、次のオプションを指定できます。
共有リポジトリへのローカルの変更のプッシュローカルでコミットした変更を共有リポジトリにプッシュする前に、ローカル・リポジトリと共有リポジトリを同期させる必要があります。これを「フェッチ」コマンドで実行するには、メイン・メニューから「チーム」>(「Mercurial」>)「リモート」>「フェッチ」を選択します。「フェッチ」の成功後、ローカル・リポジトリが共有リポジトリと同期されます。 変更をプッシュするには、メイン・メニューから「チーム」>(「Mercurial」>)「リモート」>「現在の分岐をプッシュ」、「チーム」>(「Mercurial」>)「リモート」>「すべての分岐をプッシュ」、または「チーム」>(「Mercurial」>)「リモート」>「プッシュ」を選択します。成功したプッシュの出力に、作成された変更セットが表示されます。 注意: システムでリポジトリ全体のコピーを管理しているため、一般的な方法は、ローカル・リポジトリに複数のコミットを行い、特定のタスクの完了後にのみ、共有リポジトリへのプッシュを実行します。 要約このチュートリアルでは、IDEのMercurialサポートを使用する場合の標準的なワークフローを説明することによって、IDEの基本的なバージョン管理タスクの実行方法を示しました。IDEに含まれるMercurial固有の機能の一部を紹介しながら、バージョン管理されたプロジェクトの設定とバージョン管理されたファイルの基本タスクの実行方法を示しました。 関連項目関連する資料については、次のドキュメントを参照してください。
|
Documentation |