Folderdiff コマンド (Team Foundation バージョン管理)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

TFVC folderdiff コマンドを使用して、2 つのサーバー フォルダー、サーバー フォルダーとローカル フォルダー、または 2 つのローカル フォルダー内のファイルの相違点を視覚的に表示および比較します。

前提条件

folderdiff コマンドを使用するには、[読み取り] アクセス許可が [許可] に設定されている必要があります。 詳細については、「既定の TFVC アクセス許可」を参照してください。

構文

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]

パラメーター

引数

Argument

説明

<sourcePath>

比較操作におけるローカルまたはサーバーのソース パス。 この引数が指定されておらず、targetPath がマップされるローカル パスである場合は、sourcePath がマップされるサーバー パスです。

<targetPath>

比較操作におけるローカルまたはサーバーのターゲット パス。

<filter>

/filter オプションの包含および除外フィルター マスクのセミコロン区切りのリスト。 既定値は *、つまり、すべてを含めます。 フィルターとマスクの詳細については、「解説」を参照してください。

<TeamProjectCollectionUrl>

表示および比較するファイルを含むプロジェクト コレクションの URL (例: http://myserver:8080/tfs/DefaultCollection)。

<username>

/login オプションに値を指定します。 ユーザー名の値は、DOMAIN\username または username の形式で指定できます。

Options

オプション

説明

/recursive

省略可能。 2 つのフォルダーを再帰的に完全に比較します。

/noprompt

省略可能。 Visual Studio の [フォルダーの相違点] ウィンドウに出力を表示せずに tf folderdiff を実行します。 代わりに、コマンド プロンプト ウィンドウに出力が表示されます。

/filter

省略可能。 比較するファイルとフォルダーの名前を照合するために使用される包含およびフィルター マスクのリストを指定します。

/filterLocalPathsOnly

省略可能。 対応するサーバー パスが存在しない限り、ローカル パスのみをフィルター処理することを指定します。

/view

省略可能。 次の値のコンマ区切りのリストを使用して、出力に含める情報を指定します。

  • same は、ソース ディレクトリとターゲット ディレクトリの両方で同じコンテンツを持つファイルを表示します。

  • different は、ソース ディレクトリとターゲット ディレクトリの両方で同じコンテンツを持つファイルを表示します。

  • sourceOnly は、ソース ディレクトリにのみ存在するファイルを表示します。

  • targetOnly は、ターゲット ディレクトリにのみ存在するファイルを表示します。

既定値は、different,sourceOnly,targetOnly です。

/collection

プロジェクト コレクションを指定します。

/login

Azure DevOps でユーザーを認証するためのユーザー名とパスワードを指定します。

解説

/noprompt を指定すると、コマンド プロンプト ウィンドウに出力が表示されます。 それ以外の場合は、Visual Studio の [フォルダーの相違点] ウィンドウに出力が表示されます。

システムがローカル マップされたフォルダーとマップされたサーバー フォルダーを比較する場合、[フォルダーの相違点] ウィンドウの出力には、保留中の変更のリストが含まれます。 また、[フォルダーの相違点] ウィンドウの出力には、ローカル フォルダーに最新のコピーが含まれているかどうかが示されます。

コマンド プロンプト ウィンドウに表示される出力では、フォルダー内のすべてのファイルが次の 5 つのセクションに一覧表示されます。

  • サーバー フォルダーにのみ存在する項目。
  • ローカル フォルダーにのみ存在する項目。
  • 内容が異なる項目。
  • 内容が同じ項目。 same 引数は /view オプションと一緒に指定する必要があります。
  • まとめ。

ファイルおよびフォルダーのフィルター

フィルターは、比較するファイルおよびフォルダーの名前と照合するために使用される名前マスクの順序指定済みリストです。 マスクには、1 文字に一致する疑問符 ? ワイルドカード文字と、0 個以上の文字に一致するアスタリスク * ワイルドカード文字を含めることができます。

フィルターでマスクを区切るには、セミコロン ; を使用します。 フォルダー マスクは、円記号 \ で終わる必要があります。 除外マスクを指定するには、マスクの前に感嘆符 ! を付けます。

フィルターは、次の規則に基づいてファイルおよびフォルダーの名前に適用されます。

  • フィルターでファイルととフォルダーのマスクの両方を指定すると、ファイルとフォルダーのマスクはファイル マスク リストとフォルダー マスク リストに分離されます。 ファイル マスクは、ファイル名にのみ適用されます。 フォルダー マスクはフォルダー名にのみ適用されます。

  • ファイルまたはフォルダーの名前を照合するために、コマンドは指定された順序で名前をフィルター内の各マスクと比較します。 名前がマスクと一致するとすぐに、名前は一致と見なされます。

  • フィルター内のファイル マスクに包含マスクが含まれている場合、すべてのファイル マスクと一致しないファイルは除外されます。

  • フィルター内のファイル マスクに除外マスクのみが含まれている場合、すべてのファイル マスクと一致しないファイルが含まれます。

  • フィルター内のフォルダー マスクに包含マスクが含まれている場合、すべてのフォルダー マスクと一致しないフォルダーは除外されます。

  • フィルター内のフォルダー マスクに除外マスクのみが含まれている場合、すべてのフォルダー マスクと一致しないフォルダーが含まれます。

フィルター名マスクの例の一覧を、次の表に示します。

名前マスク 説明
*.cs すべての C# ファイルに一致します。
My*.bmp My で始まるすべてのビットマップ ファイルに一致します。
!*.exe すべての実行可能ファイルを除外します。
!objd\ すべての objd フォルダーを除外します。

フィルターの例の一覧を、次の表に示します。

Assert 説明
*.cs;!objd\;!obj\;!bin\ すべての C# ファイル (objdobj、または bin フォルダー内の C# ファイルを除く) に一致します。
!*.resx;!*.ini;!resources\;!*junk*\ .resx.ini のすべてのファイル、resources フォルダー内のすべてのファイル、および名前に junk という文字列を含むフォルダー内のすべてのファイルを除外します。

tf コマンド ライン ユーティリティの使用方法の詳細については、「Team Foundation バージョン管理コマンドの使用」を参照してください。

次の例では、サーバー フォルダーとローカル フォルダー内のファイルを比較し、ローカル フォルダー内のファイルを再帰的に整理し、コマンド プロンプト ウィンドウに出力を表示します。

tf folderdiff $/<serverFolder> F:\<localFolder> /recursive /noprompt

次のステップ