フォルダ比較を行うとき、タイプや名前、フォルダ階層中の場所に基づいたリストから項目を包含または除外したい状況があるかもしれません。Merge は比較結果リスト中の項目の包含と除外をコントロールするフィルタの設定が行えます。フィルタは[フィルタ]オプション ページのコントロールを使用して設定できます。
フィルタは好きなだけ定義できますが、一度にアクティブにできるのは一つだけです。フィルターは名前および(または)タイプに基づいて、どのファイルとフォルダーを含むか、あるいは除外するべきか定義するどんな数のパターンでも含みます。
ファイルあるいはフォルダーが結果リストに含められるべきであるかどうか決定するとき、Merge は上から下までアクティブなフィルターのパターンを通して働きます。ファイルまたはフォルダと一致する一番下のパターンは、結果リストからファイルまたはフォルダが包含あるいは除外されるかを決定します。もしそれがパターンによってマッチされないなら、ファイルあるいはフォルダーは結果リストに含められません。
デフォルト フィルターはすべてのファイルとフォルダーを含まれるようにするパターンを含みます。すべてを含むことから開始し、そして次に結果からファイルとフォルダーを取り除くパターンを加えることは一般により容易な方法です。特に、我々は常に少なくともすべてのフォルダーを含むパターンから始めることをお勧めします。もしフォルダーが結果リストに含められないなら、そのフォルダ中のファイルとフォルダーは同様含まれません - たとえそれらが後の組み込みパターンによって一致されるとしても。
各パターンは 3 つの構成可能な設定を含みます。最初の(タイプ)はパターンが結果リストで項目を含むか、あるいは除外するかどうかをコントロールします。2番目の(一致)はパターンが一致することができる項目のタイプ - ファイル、フォルダーあるいは両方 - をコントロールします。3番目の(パターン)はファイルおよび(または)フォルダーの名前に対して一致させられます。そして以下にもっと多くの詳細で説明されるテキストから成り立ちます。
パターンがファイルあるいはフォルダーと一致するために、パターンの[一致]と[パターン]の設定はそれぞれファイル / フォルダーのタイプと名前に一致させる必用があります。パターンがファイルあるいはフォルダーと一致するとき、パターンのタイプ(包含または除外)はファイルあるいはフォルダーに適用されます。ファイルあるいはフォルダーが含まれるか、あるいは除外されるかどうかについては、最後の一致しているパターンが最終決定権を得ます。
パターンのテキストはパターンがそれらに適用できるかどうか見るためにファイルとフォルダーの名前を基準にして判断されます。テキストはその名前のファイルあるいはフォルダと一致するであろう filename.txt のような単純な値、またはワイルドカード文字とパス区切り文字を含めて複雑jな値を持つことができます。ワイルドカード文字の含め方:どんな連続する文字にも一致させるには * (パス区切り文字を除く)を、パス区切り文字を含むどんな連続する文字にも一致させるには ** を、そしてどんな一文字にも一致させるには ? を使用します。セミコロンまたはカンマ文字で区別することにより多数のパターンテキストをパターンに含めることができます。パターン テキストは通常ファイルあるいはフォルダーの名前に対して一致させられます。しかしもし、名前と同様、ファイルあるいはフォルダーの場所に対して一致させたい場合、同じくパターン テキストにパス区切り文字を含めることができます。以下はパターンの例です。
例 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 | Include files with a 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 接尾辞を含んだファイルを除外 |
