ローカル コンピューターまたはバージョン管理サーバー上にあるファイルまたはフォルダーの 2 つのバージョンを比較して、バージョン間の相違点を特定できます。 たとえば、このタスクは 2 つの分岐間またはアプリケーションのリリース間の相違点を特定するために実行します。 複数ある方法のうち、いずれかの方法を使用して、ファイルとフォルダーを比較できます。
タスク |
---|
ファイルまたはフォルダーを比較する: ローカル コンピューター上のテキスト ファイル、XML ファイル、またはフォルダーのバージョンと、バージョン管理サーバーでのバージョンを比較できます。 また、ローカル コンピューター上の 2 つのバージョン、またはバージョン管理サーバー上の 2 つのバージョンを比較することもできます。 これらの比較は、既定でユーザー インターフェイスから実行したり、外部比較ツールを構成する場合はコマンド プロンプトから実行したりできます。 |
比較ツールを構成する: 外部ツールを構成すると、テキストまたは XML 以外のファイルを比較することができ、結果をユーザー インターフェイスまたはコマンド プロンプトに表示できます。 また、Eclipse 対応 Team Foundation Server プラグインに用意されている既定のツールではなく外部ツールを使用する場合も、外部ツールを構成します。 ![]()
コマンド プロンプトでファイルまたはフォルダーを比較するには、外部ツールを構成しておく必要があります。
|
1 つのファイル内の変更された行を表示する: 注釈を表示すると、ファイル内の変更された行だけでなく、各行を変更したユーザーの名前とその行が変更された日時も表示することができます。 このビューでは、左右に並べた比較は提供されません。 |
必要なアクセス許可
バージョン管理サーバー上の項目と、サーバーまたはローカル コンピューター上の項目を比較するには、[読み取り] のアクセス許可が [許可] に設定されている必要があります。 詳細については、Microsoft Web サイトの「Team Foundation Server のアクセス許可」を参照してください。
ローカル コンピューター上の 2 つのファイルを比較するために Visual Studio Team Foundation Server のアクセス許可は必要ありません。
ローカル コンピューター上のバージョンと、バージョン管理サーバーから最初にチェックアウトしたバージョンを比較する
バージョン管理からチェックアウトした後にローカル フォルダー内の 1 つ以上のファイルで行った変更を特定できます。
プロジェクト エクスプローラーまたはパッケージ エクスプローラーを使用してファイルまたはフォルダーを比較するには
- パッケージ エクスプローラーまたはプロジェクト エクスプローラーで、比較するファイルまたはフォルダーを右クリックし、[チーム]、[比較対象] を順にポイントして、[未変更のワークスペースのバージョン] をクリックします。
コマンド プロンプトからファイルとワークスペースのバージョンを比較するには
コマンド プロンプト ウィンドウを開きます。
「tf diff FileName」と入力して、Enter キーを押します。
FileName は、比較するファイルのパスに置き換えます。 詳細については、「Difference コマンド」を参照してください。
重要
この手順を開始する前に、「Configure an External Tool to Compare Items at a Command Prompt」の各手順を実行してください。
指定したファイルが、ローカル ワークスペースにチェックアウトされたバージョンと比較されます。
コマンド プロンプトからフォルダーおよびその内容と、未変更のワークスペースのバージョンを比較するには
コマンド プロンプト ウィンドウを開きます。
「tf diff FolderName /recursive」と入力し、Enter キーを押します。
FolderName は、内容を比較するフォルダーのパスに置き換えます。 詳細については、「Difference コマンド」を参照してください。
重要
この手順を開始する前に、「Configure an External Tool to Compare Items at a Command Prompt」の各手順を実行してください。
指定したフォルダー内のファイルが、ローカル ワークスペースにチェックアウトされたバージョンと比較されます。
ローカル コンピューター上のバージョンと、バージョン管理サーバー上の特定のバージョンを比較する
ローカル コンピューター上の項目のバージョンと、バージョン管理サーバー上のその項目の次のいずれかのバージョンを比較できます。
最新のバージョン
特定のバージョン番号を持っているバージョン
特定の日に存在していたバージョン
特定のラベルが適用されているバージョン
特定の変更セットに存在していたバージョン
ローカル ワークスペースにチェックアウトしたバージョン
注意
詳細については、「Compare a version on the local computer to the version that you originally checked out」を参照してください。
パッケージ エクスプローラーまたはプロジェクト エクスプローラーでファイルを比較するには
パッケージ エクスプローラーまたはプロジェクト エクスプローラーで、比較するいずれかのファイルを右クリックし、[チーム]、[比較対象] を順にポイントして、[別のバージョン] をクリックします。
[比較する項目の選択] ダイアログ ボックスが表示されます。
(省略可能) [選択された項目 (ソース)] で、別のソース ファイルを指定します。
[比較対象 (ターゲット)] で、[参照] をクリックしてファイルを指定します。
ソース ファイルと比較するファイルのパスと名前を入力することもできます。
ターゲット ファイルの最新以外のバージョンを指定するには、次のいずれかのタスクを実行します。
[変更セット] をクリックし、変更セットの番号を指定するか、省略記号 ([...]) をクリックして [変更セットの検索] ダイアログ ボックスを開きます。 詳細については、「変更セットの検索」を参照してください。
[日付] をクリックし、日付を入力するか、メニューを開いてカレンダーの日付をクリックし、日付を指定します。
[ラベル] をクリックし、ラベルを入力するか、省略記号 ([...]) をクリックして [ラベルの検索] ダイアログ ボックスを開き、ラベルを指定します。 詳細については、「ラベルの一覧、検索、表示、編集、および削除」を参照してください。
[ワークスペース バージョン] をクリックし、バージョンを比較するワークスペースを指定します。
[OK] をクリックして指定したファイルを比較します。
ソース管理エクスプローラーでフォルダーを比較するには
ソース管理エクスプローラーで、比較するいずれかのフォルダーを右クリックし、[比較] をクリックします。
[比較する項目の選択] ダイアログ ボックスが表示されます。 既定では、サーバー上の指定したフォルダーが、ローカル コンピューター上の対応するフォルダーと比較されます。
サーバー フォルダーの最新以外のバージョンを指定するには、次のいずれかのタスクを実行します。
[変更セット] をクリックし、変更セットの番号を指定するか、省略記号 ([...]) をクリックして [変更セットの検索] ダイアログ ボックスを開きます。 詳細については、「変更セットの検索」を参照してください。
[日付] をクリックし、日付を入力するか、メニューを開いてカレンダーの日付をクリックし、日付を指定します。
[ラベル] をクリックし、ラベルを入力するか、省略記号 ([...]) をクリックして [ラベルの検索] ダイアログ ボックスを開き、ラベルを指定します。 詳細については、「ラベルの一覧、検索、表示、編集、および削除」を参照してください。
[ワークスペース バージョン] をクリックし、バージョンを比較するワークスペースを指定します。
[OK] をクリックして比較を開始します。
ファイルの比較中は、プログレス ダイアログ ボックスが表示されます。 比較が終わると、[テキスト比較] ウィンドウが表示されます。
(省略可能) [テキスト比較] ウィンドウで、ツール バーのボタンを使用してファイル間の相違点を参照します。
コマンド プロンプトからフォルダーを比較するには
コマンド プロンプト ウィンドウを開きます。
「tf diff FirstFolder SecondFolder /recursive」と入力し、Enter キーを押します。
FirstFolder および SecondFolder は、比較するフォルダーのパスに置き換えます。 詳細については、「Difference コマンド」を参照してください。
重要
この手順を開始する前に、「Configure an External Tool to Compare Items at a Command Prompt」の各手順を実行してください。
指定したフォルダー内のファイルが比較されます。
ローカル コンピューター上の 2 つのバージョンを比較する
Team Explorer Everywhere で 2 つのローカル ファイルまたはローカル フォルダーを比較するには、プロジェクト エクスプローラーまたはパッケージ エクスプローラーを使用する必要があります。 ソース管理エクスプローラーまたはコマンド プロンプトからこのような比較を実行することはできません。
プロジェクト エクスプローラーまたはパッケージ エクスプローラーを使用してファイルまたはフォルダーを比較するには
パッケージ エクスプローラーまたはプロジェクト エクスプローラーで、比較する 2 つのファイルまたはフォルダーを強調表示します。
いずれかのファイルまたはフォルダーを右クリックし、[チーム]、[比較対象] を順にポイントして、[相互] をクリックします。
バージョン管理サーバー上の 2 つのバージョンを比較する
たとえば、チェックインの一環として行われた変更を特定する場合に、バージョン管理サーバー上の 2 つのバージョンのファイルまたはフォルダーを比較します。 また、アプリケーションのリリース間で行われた変更を特定することもできます。
サーバー バージョンの比較は、ソース管理エクスプローラーまたはコマンド プロンプトから行うことができます。
ソース管理エクスプローラーで 2 つのサーバー バージョンを比較するには
ソース管理エクスプローラーで、比較するいずれかのファイルまたはフォルダーを右クリックし、[比較] をクリックします。
[比較する項目の選択] ダイアログ ボックスが表示されます。 既定では、ソースはローカル コンピューター上の項目に設定され、ターゲットはバージョン管理サーバー上の対応する項目に設定されます。
[選択された項目 (ソース)] で、[参照] の矢印をクリックし、[サーバー パス] をクリックして、[参照] をクリックします。
また、サーバー上のソース ファイルまたはフォルダーのパス (たとえば、$/DefaultAgile/billing-service) を入力してソース項目を指定することもできます。
(省略可能) 項目の最新以外のバージョンを指定するには、次のいずれかのタスクを実行します。
[変更セット] をクリックし、変更セットの番号を指定するか、省略記号 ([...]) をクリックして [変更セットの検索] ダイアログ ボックスを開きます。 詳細については、「変更セットの検索」を参照してください。
[日付] をクリックし、日付を入力するか、メニューを開いてカレンダーの日付をクリックし、日付を指定します。
[ラベル] をクリックし、ラベルを入力するか、省略記号 ([...]) をクリックして [ラベルの検索] ダイアログ ボックスを開き、ラベルを指定します。 詳細については、「ラベルの一覧、検索、表示、編集、および削除」を参照してください。
[ワークスペース バージョン] をクリックし、バージョンを比較するワークスペースを指定します。
[比較対象 (ターゲット)] で、手順 2. ~ 3. を繰り返して比較する他の項目を指定し、[OK] をクリックして比較を開始します。
ファイルの比較中は、プログレス ダイアログ ボックスが表示されます。 比較が終わると、[テキスト比較] ウィンドウが表示されます。
(省略可能) [テキスト比較] ウィンドウで、ツール バーのボタンを使用してファイルまたはフォルダー間の相違点を参照します。
コマンド プロンプトからファイルを比較するには
コマンド プロンプト ウィンドウを開きます。
「tf diff FirstItem SecondItem」と入力し、Enter キーを押します。
FirstItem および SecondItem は、比較するファイルのパスに置き換えます。 また、比較するファイルのバージョンを指定できます。 たとえば、変更セット 3200 に属していた App.java ファイルのバージョンと、"release" というラベルが適用されているバージョンを比較するには、tf diff App.java;C3200 App.java;Lrelease という構文を使用します。
詳細については、「Difference コマンド」を参照してください。
重要
この手順を開始する前に、「Configure an External Tool to Compare Items at a Command Prompt」の各手順を実行してください。
指定したフォルダー内のファイルが比較されます。
コマンド プロンプトからフォルダーを比較するには
コマンド プロンプト ウィンドウを開きます。
「tf diff FirstItem SecondItem /recursive」と入力し、Enter キーを押します。
FirstItem および SecondItem は、比較するフォルダーのパスに置き換えます。 また、比較するフォルダーのバージョンを指定できます。 たとえば、変更セット 3200 に属していた billing-service フォルダーのバージョンと、"release" というラベルが適用されているバージョンを比較するには、tf diff billing-service;C3200 billing-service;Lrelease という構文を使用します。
詳細については、「Difference コマンド」を参照してください。
重要
この手順を開始する前に、「Configure an External Tool to Compare Items at a Command Prompt」の各手順を実行してください。
指定したフォルダー内のファイルが比較されます。
その他の種類のファイルを比較するために外部ツールを構成するには
テキストまたは XML 以外のファイルを比較するには、Eclipse 対応 Team Foundation Server プラグインと連携するように外部ツールを構成する必要があります。 また、組み込みのツールではなく外部ツールを使用する場合も、外部ツールを構成します。 比較する 2 つのファイルの完全パスをコマンド ライン引数としてサポートする、任意の比較ツールを使用できます。 比較ツールを構成するときに、比較するファイルの 1 つ以上の種類、ツールのパス、およびツールの構文を指定します。 ツールの構文を指定するには、この後の表に示すトークンなどの引数を使用します。
比較を開始するときに、それらのトークンに具体的な値 (ファイルのパスなど) を指定します。 次に、Eclipse 対応 Team Foundation Server プラグインによって外部ツールが呼び出され、トークンが指定した値に置き換えられて、ツールの構文の適切な引数に渡されます。 その後、外部ツールによって実際の比較が実行され、プラグインに結果が表示されます。
ツールの構文を指定する際、トークンなどの引数を区切るには空白を使用します。 引数に空白が 1 つ以上含まれる場合は、引数を引用符 ("") で囲む必要があります。 1 つの引数に引用符が 1 つ以上含まれる場合は、その引数に含まれるすべての引用符の直後にもう 1 つ引用符を追加する必要があります。 たとえば、次の引数を指定できます。
"This "" embeds a double quote"
% トークンの値に空白が含まれる場合でも、% トークンを引用符で囲む必要はありません。
[トークン]
外部ツールの構文を指定する際に使用するトークンを次の表に示します。
[トークン] |
必須または省略可能 |
説明 |
---|---|---|
%1 |
必須 |
ソース ファイルのパス |
%2 |
必須 |
ターゲット ファイルのパス |
%5 |
使用されていませんが、Visual Studio Team Foundation Server の Visual Studio クライアントとの互換性のために残されています。 |
Diff コマンド ライン オプション (使用されていません) |
%6 |
省略可能 |
ソース ファイルのラベル |
%7 |
省略可能 |
ターゲット ファイルのラベル |
その他の種類のファイルの比較ツールを構成するには
[ウィンドウ] メニューの [ユーザー設定] をクリックします。
[ユーザー設定] ダイアログ ボックスが表示されます。
[チーム] ノードを展開し、[Team Foundation Server] ノードを展開して、[比較ツール] をクリックします。
結果ペインに、構成されている外部比較ツールの一覧が表示されます。 既定では、構成されているツールはありません。
1 つ以上のファイルの種類を比較ツールに関連付けるには、次の手順を実行します。
[追加] をクリックします。
[外部比較ツールの追加] ダイアログ ボックスが表示されます。
[ファイルの種類] に、この比較ツールを使用する対象のファイル名拡張子を指定します。
コンマで区切って複数の拡張子を指定することも、ワイルドカード文字 (*) を使用してすべての種類のファイルを指定することもできます。
すべてのフォルダーを 1 つの比較ツールに関連付けるには、次の手順を実行します。
[ディレクトリ コマンド] で [追加] をクリックします。
[外部比較ツールの追加] ダイアログ ボックスが表示されます。
[コマンド] に、使用する比較ツールの構文を指定します。
この構文には、比較ツールのパスと、比較ツールが受け取る引数を含めます。 [参照] をクリックして比較ツールのパスを指定することもできます。
[OK] をクリックすると構成が完了します。
[OK] をクリックして、[ユーザー設定] ダイアログ ボックスを閉じます。
例
たとえば、Java ファイルに OtherDiff ツールを指定するには、次の構文を指定します。
C:\Program Files\OtherDiff\otherdiff.exe %1 %2
また、ファイルごとにラベルを指定することもできます。 ラベルを指定しないと、ツールは一時ファイルの名前を表示しますが、一時ファイルの名前は読みにくいことがあります。
ラベルを指定するには、次の構文を指定します。
C:\Program Files\MyDiff\mydiff.exe %1 –title1=%6 %2 /title2=%7
この構文を指定すると、%7 がファイル %2 のラベルを指定し、%6 がファイル %1 のラベルを指定します。
コマンド プロンプトから項目を比較するように外部ツールを構成する
コマンド プロンプトでファイルまたはフォルダーを比較する場合、項目を比較する外部ツールを構成しておく必要があります。 既定では、Team Foundation Server のプラットフォーム間のコマンド ライン クライアントに比較ツールはありません。 ツールを構成するときには、前の表に示したトークンを使用してツールの構文を指定します。 この構文を指定する方法の最新情報については、コマンド プロンプトを開き、「tf help diff」と入力してください。 tf diff コマンドを使用するときに、トークンではなく、外部ツールに渡される値を指定すると、外部ツールによってファイルまたはフォルダーが比較されます。
注意
tf difference は tf diff と省略できます。
tf diff コマンドの外部ツールを構成する場合、ソース ファイルとターゲット ファイルのパスを表すには、トークン %1 および %2 を使用する必要があります。
トークン %6 および %7 を使用すると、ソース ファイルとターゲット ファイルにユーザーが判読できるラベルを指定できます。 これらのトークンの値に空白が含まれる可能性がある場合は、その値を引用符で囲む必要があります。
例
比較ツール |
TF_DIFF_COMMAND 環境変数の値 |
---|---|
GNU diff |
|
GNU diff (ラベルあり) |
|
SourceGear DiffMerge |
|
注釈を表示してファイルの変更を特定する
バージョン管理されているファイルの注釈を表示することで、変更を行ったユーザー、およびそのファイルより前のすべてのバージョンのファイルでユーザーが変更した行を特定できます。 注釈を表示する際、ファイルは現在の状態でのみ表示されます。 ファイルの 2 つのバージョンを左右に並べた比較は表示されません。
これらの手順を実行するには、[読み取り] のアクセス許可が [許可] に設定されている必要があります。 詳細については、Microsoft Web サイトの「Team Foundation Server のアクセス許可」を参照してください。
重要
Eclipse 対応 Team Foundation Server プラグインで Annotate コマンドを使用できるのは、プロジェクト エクスプローラーまたはパッケージ エクスプローラーのみです。 ソース管理エクスプローラーで Annotate コマンドを使用することはできません。
ファイルの注釈を表示するには
プロジェクト エクスプローラーまたはパッケージ エクスプローラーで、注釈を表示するファイルを右クリックし、[チーム] をポイントして、[コメント] をクリックします。
注釈のウィンドウが表示され、指定したファイルの内容が表示されます。 ウィンドウの左端に沿って表示されるカラー チャネルは、変更された行を示します。
カラー チャネルの任意のセクションをポイントすると、変更セットに関する情報がツールヒントに表示されます。 F2 キーを押すと、変更セットの情報を参照できるウィンドウが開きます。
リビジョン情報を右クリックし、[リビジョン] をポイントして、オプションをクリックすると、リビジョン情報の表示をカスタマイズできます。