フォルダー比較フィルター

フォルダー比較を行うとき、タイプや名前、フォルダー階層中の場所に基づいたリストから項目を包含または除外したい状況があるかもしれません。Merge では、比較結果リスト中の項目の包含と除外を制御するフィルターの設定が行えます。

フィルターの定義

フィルターは、フィルター オプション ページのコントロールを使用して設定できます。

フィルターはいくつでも定義できますが、一度にアクティブにできるのは 1 つだけです。フィルターには、名前とタイプに基づいて、どのファイルとフォルダーを包含または除外するかを定義するパターンをいくつでも含めることができます。

ファイルまたはフォルダーを結果リストに含めるべきかどうかを判断する際、Merge はアクティブなフィルターのパターンを上から下へすべて試します。ファイルまたはフォルダーに一致した最下部のパターンによって、そのファイルまたはフォルダーを結果リストに包含するか除外するかが決定されます。ファイルまたはフォルダーがどのパターンとも一致しない場合は、結果リストに含められません。

デフォルトのフィルターには、すべてのファイルとフォルダーが包含されるようにするパターンが含まれています。一般に、すべてを包含することから始め、その後、結果からファイルとフォルダーを取り除くパターンを加えていくことが、より簡単とされます。常に、少なくともすべてのフォルダーを包含するパターンから始めることをお勧めします。あるフォルダーが結果リストに含まれていない場合、そのフォルダー内のファイルとフォルダーは、たとえその後の包含パターンに一致したとしても、結果リストには含まれません。

各パターンは 3 つの構成可能な設定を含みます。1 番目(タイプ)は、パターンに一致する項目を結果リストに含めるか、あるいは除外するかどうかを制御します。2 番目(一致)は、パターンに一致する項目のタイプ - ファイル、フォルダー、あるいは両方 - を制御します。3 番目(パターン)は、ファイルおよび/またはフォルダーの名前に対して一致するテキストから成ります。これについては、後で詳細に説明します。

パターンがファイルまたはフォルダーに一致するには、パターンの一致パターン設定が、ファイル/フォルダーのタイプと名前にそれぞれ一致する必要があります。パターンがファイルまたはフォルダーに一致すると、パターンのタイプ(包含または除外)がファイルまたはフォルダーに適用されます。ファイルまたはフォルダーを包含するか除外するかの最終決定は、最後に一致したパターンが持っています。

パターンのテキストをファイルおよびフォルダーの名前と比較して、それらにパターンを適用可能かどうかが調べられます。テキストは filename.txt のような単純な値を持つことができ、その名前のファイルまたはフォルダーに一致します。あるいは、ワイルドカード文字およびパス区切り文字を含む、より複雑な値を持つこともできます。ワイルドカード文字には ***? があります。* は、パス区切り文字を除くあらゆる文字の連続に一致します。** はパス区切り文字を含むあらゆる文字の連続に一致します。? は任意の 1 文字に一致します。セミコロンまたはカンマで区切ることにより、複数のパターン テキストを 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 のファイルを含めます

Information パス区切り文字としてスラッシュ文字も使用できます。Merge は円記号のパス区切り文字と同じ意味を持つものと見なします。

例 8:すべてのファイルとフォルダーを含めるが、CVS または RCS サブディレクトリのトップレベルにある、接尾辞が ‘,v’ のファイルをすべて除外する

タイプ 一致 パターン 説明
包含 ファイルとフォルダー ** すべてのファイルとフォルダーを含める
除外 ファイル "CVS/*,v";"RCS/*,v" CVSRCS サブフォルダー下にある、接尾辞が ,v のファイルを除外します

Information もしパターン テキストにセミコロンあるいはカンマ文字を含める場合は、引用符を使ってください。

例 9:すべてのファイルとフォルダーを含めるが、CVS または RCS サブディレクトリのすべての階層にある、接尾辞が ‘,v’ のファイルをすべて除外する

タイプ 一致 パターン 説明
包含 ファイルとフォルダー ** すべてのファイルとフォルダーを含める
除外 ファイル "CVS/**,v";"RCS/**,v" CVSRCS サブフォルダー下のすべての階層にある、接尾辞が ,v のファイルを除外します

例 10:すべてのファイルとフォルダーを含めるが、最上位サブフォルダーの ‘build’ を除外するほか、最上位サブフォルダー ‘packaged’ 下にあるファイルのうち、接頭辞 ‘merge_’ の後に 4 文字が続き、接尾辞が ‘.dmg’ のファイルをすべて除外する

タイプ 一致 パターン 説明
包含 ファイルとフォルダー ** すべてのファイルとフォルダーを含める
除外 フォルダー /build build という最上位フォルダーを除外します
除外 ファイル /packaged/merge_????.dmg packaged という最上位サブフォルダーにあるファイルのうち、接頭辞 merge_ の後に 4 文字が続き、接尾辞が .dmg のファイルを除外します