フォルダー比較を行うとき、タイプや名前、フォルダー階層中の場所に基づいたリストから項目を包含または除外したい状況があるかもしれません。Merge では、比較結果リスト中の項目の包含と除外を制御するフィルターの設定が行えます。
フィルターの定義
フィルターは[フィルター]オプション ページのコントロールを使用して設定できます。
フィルターはいくつでも定義できますが、一度にアクティブにできるのは 1 つだけです。フィルターには、名前とタイプに基づいて、どのファイルとフォルダーを包含または除外するかを定義するパターンをいくつでも含めることができます。
ファイルまたはフォルダーを結果リストに含めるべきかどうかを判断する際、Merge はアクティブなフィルターのパターンを上から下へすべて試します。ファイルまたはフォルダーに一致した最下部のパターンによって、そのファイルまたはフォルダーを結果リストに包含するか除外するかが決定されます。ファイルまたはフォルダーがどのパターンとも一致しない場合は、結果リストに含められません。
デフォルトのフィルターには、すべてのファイルとフォルダーを包めるパターンが含まれています。すべてを含むことから開始し、そして次に結果からファイルとフォルダーを取り除くパターンを加えることは一般により容易な方法です。具体的には、常に、最小限すべてのフォルダーを含むパターンから開始することをお勧めします。あるフォルダーが結果リストに含まれない場合、そのフォルダー内のファイルとフォルダーも、その後の包含パターンに一致するとしても、結果リストには含められません。
各パターンは 3 つの構成可能な設定を含みます。1 番目(タイプ)は、パターンに一致する項目を結果リストに含めるか、あるいは除外するかどうかを制御します。2 番目(一致)は、パターンに一致する項目のタイプ - ファイル、フォルダー、あるいは両方 - を制御します。3 番目(パターン)は、ファイルおよび/またはフォルダーの名前に対して一致するテキストから成ります。これについては、後で詳細に説明します。
パターンがファイルまたはフォルダーに一致するには、パターンの[一致]と[パターン]設定が、ファイル/フォルダーのタイプと名前にそれぞれ一致する必要があります。パターンがファイルまたはフォルダーに一致すると、パターンのタイプ(包含または除外)がファイルまたはフォルダーに適用されます。ファイルまたはフォルダーを包含するか除外するかの最終決定は、最後に一致したパターンによります。
パターンのテキストをファイルおよびフォルダーの名前と比較して、それらにパターンを適用可能かどうかが調べられます。テキストは filename.txt のような単純な値を持つことができ、その名前のファイルまたはフォルダーに一致します。あるいは、ワイルド カード文字およびパス区切り文字を含む、より複雑な値を持つこともできます。ワイルドカード文字の含め方:どんな連続する文字にも一致させるには * (パス区切り文字を除く)を、パス区切り文字を含むどんな連続する文字にも一致させるには ** を、そしてどんな一文字にも一致させるには ? を使用します。セミコロンまたはカンマで区切ることにより、複数のパターン テキストを 1 つのパターンに含めることができます。パターン テキストは、通常、ファイルまたはフォルダーの名前に対して一致します。しかし、名前と同様にファイルまたはフォルダーの場所に対しても一致させたい場合は、パターン テキストにパス区切り文字を含めることができます。以下はパターンの例です。以下はパターンの例です。
例
例 1:すべてのファイルとフォルダーを含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | フォルダー | * | すべてのフォルダーを含めます |
| 包含 | ファイル | * | すべてのファイルを含めます |
例 2:すべてのファイルとフォルダーを含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
例 3:すべてのフォルダーと、Makefile という名前のファイルをすべて含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | フォルダー | * | すべてのフォルダーを含めます |
| 包含 | ファイル | Makefile | Makefile という名前のファイルを含めます |
例 4:すべてのフォルダーと、接尾辞が .cpp のすべてのファイルを含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | フォルダー | * | すべてのフォルダーを含めます |
| 包含 | ファイル | *.cpp | 接尾辞が .cpp のファイルを含めます |
例 5:a で始まり、,v で終わらないすべてのファイルを含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
| 包含 | ファイル | a* | a で始まるファイルを含めます |
| 除外 | ファイル | *,v | ,v で終わるファイルを除外します |
これはパターンの優先度を示す例です。
例 6:すべてのファイルとフォルダーを含めますが、接尾辞が .obj または .exe のファイルと接尾辞が tmp のファイルを除外します
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
| 除外 | ファイル | *.obj;*.exe;tmp* | 接尾辞が .obj または .exe、接頭辞が tmp のファイルを除外します |
例 7:すべてのフォルダーと、help フォルダー下の接尾辞が .xml のすべてのファイルを含めます
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | フォルダー | * | すべてのフォルダーを含めます |
| 包含 | ファイル | help/**.xml | help フォルダー下の接尾辞が .xml のファイルを含めます |
パス区切り文字としてスラッシュ文字も使用できます。Merge は円記号のパス区切り文字と同じ意味を持つものと見なします。
例 8:すべてのファイルとフォルダーを含めますが、CVS または RCS サブディレクトリのトップレベルにある接尾辞が ,v のファイルをすべて除外します
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
| 除外 | ファイル | "CVS/*,v";"RCS/*,v" | CVS と RCS サブフォルダー下にある、接尾辞が ,v のファイルを除外します |
例 9:すべてのファイルとフォルダーを含めますが、CVS または RCS サブディレクトリのすべての階層にある、接尾辞が ,v のファイルをすべて除外します
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
| 除外 | ファイル | "CVS/**,v";"RCS/**,v" | CVS と RCS サブフォルダー下のすべての階層にある、接尾辞が ,v のファイルを除外します |
もしパターン テキストにセミコロンあるいはカンマ文字を含める場合は、引用符を使ってください。
例 10:すべてのファイルとフォルダーを含めますが、最上位サブフォルダーの build を除外し、最上位サブフォルダー packaged 下にあるファイルで接頭辞 merge_ の後に 4 文字が続き、接尾辞が .dmg のファイルをすべて除外します
| タイプ(包含/除外) | 一致(ファイル/フォルダー) | パターン テキスト | 説明 |
|---|---|---|---|
| 包含 | ファイルとフォルダー | * | すべてのファイルとフォルダーを含めます |
| 除外 | フォルダー | /build | build という最上位フォルダーを除外します |
| 除外 | ファイル | /packaged/merge_????.dmg | packaged という最上位サブフォルダーにあるファイルのうち、接頭辞 merge_ の後に 4 文字が続き、接尾辞が .dmg のファイルを除外します |
