Mercurialのフォルダーの下にあるすべてのものを無視するにはどうすればよいですか


149

指定したフォルダーの下にあるすべてのファイルを無視するための.hgignoreファイルの式を探しています。

例:binの下にあるすべてのファイルとフォルダーを無視したい

実際に表現がどのように形成されるかについてのアドバイスは素晴らしいでしょう

回答:


173

代わりに:

syntax: glob
bin/**

これははるかに簡単だと思います:)
Xian

PhiLho、これはbinという名前のファイルも除外すると思います
Peter Gibson、

1
この回答に加えて、このドキュメントが役に立ち
CenterOrbit

7
bin bin/ bin/* bin/**-すべてがglobで同じことを行います。つまり、binという名前のすべてのディレクトリとサブディレクトリは無視しますが、ファイル名bin.txtまたはbin1は無視します。アスタリスクのポイントは何ですか?
ユーザー

わかりやすくするのが好きですが、グロブルールを内部化している場合は、必ず「bin」を使用してください(私はre一種の男です)
Ry4an Brase

53

いくつか実験を行ったところ、Windowsの正規表現構文は現在のリポジトリから始まるパスに適用され、バックスラッシュはスラッシュに変換されます。

たとえば、リポジトリがE:\ Devにある場合、hg statusfoo / bar / file1.cなどに対してパターンが適用されます。アンカーはこのパスに適用されます。

そう:

  • Globはパス要素に適用され、要素パーツにルートされます
  • fooは、fooという名前の任意のフォルダー(またはファイル)に一致します(「foobar」にも「barfoo」にも一致しません)。
  • * foo *は、名前に「foo」が含まれるすべてのフォルダーまたはファイルに一致します
  • foo / bar *は、「foo」フォルダ内の「bar」で始まるすべてのファイルに一致します


  • 正規表現では大文字と小文字が区別され、アンカーされません
  • もちろん、のようなバックスラッシュ正規表現の特殊文字。(ドット)
  • /は、Windowsの\パス区切り文字と一致します。\がこの区切り文字と一致しません...
  • fooは、「foo」が含まれるすべてのファイルとフォルダーに一致します
  • foo /は、「foo」で終わるフォルダのみに一致します
  • / foo /は、パスのどこかにあるフォルダ「foo」に一致します
  • / foo / bar /は、パスのどこかにある「foo」フォルダ内の「bar」フォルダに一致します
  • ^ fooは、リポジトリのルートでfooで始まるファイルまたはフォルダに一致します
  • foo $は、fooで終わるファイルに一致します

これがお役に立てば幸いです。HGIGNORE(5)のページは少し簡潔です。


私は '' [Dd] ebug * / ''というパターンを使用していますが、奇妙なことは、'' debug.txt ''のようなファイルもフィルタリングするということです
Mehrdad Mirreza

9

これらはどちらも、というディレクトリを除外しcabinます。トップレベルをフィルタリングしている場合は、以下を使用できます。

^/bin/

以下のためにbinあなたのルートの下のディレクトリは、^を省略することができます。構文を指定する必要はありません。regexpがデフォルトです。


4
これは何も無視しません。キャレットはレポのルートにあるものだけを言いますが、先頭のスラッシュはレポのルートにないdirsだけをキャッチします。
Ry4an Brase 2008年

2

気にしない、私はそれを得た

syntax: regexp
bin\\*

式は標準のperl正規表現構文に従います。


2
確かに、あなたの表現は「binで終わり、その後に0個以上のバックスラッシュが続くファイルまたはフォルダー」を意味します...したがって、バックスラッシュは*によって無効にされるため機能しますが、内部に「bin」があるものはすべて適用されます。Windowsでは、hgは照合前に\を/に置き換えます。
PhiLho 2008

2

構文:glob bin / **

この回答は上に表示されていますが、*と**の扱いが異なることも付け加えておきます。**は再帰的ですが、*は再帰的ではありません。

Hgパターンを参照


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.