2012-01-25 11 views
0

他のHg hgignoreファイルの質問を見てきましたが、正規表現を動作させることができませんでした。否定的な先読みを使用して.hgignoreファイルをホーミングする

これらのファイルを想像してみて:

Projects/search.intrasearch/newUI/override/xslt/foo.xsl 
Projects/search.intrasearch/newUI/default/ 
Projects/search.intrasearch/oldUI/baz/ 

は、私は2番目の2行を無視したいのですが、初めてではありません。ですから、Mercurialでは、にはnewUI/overrideディレクトリのファイルが含まれていて、それは子供ですが、それだけです。実際のシステムでは、上記のディレクトリよりも多くのディレクトリが存在するため、単にoldUIを除外するとデフォルトが機能しません。 包含方法が必要です。

これはMercurialの中で正規表現ツールで動作しますが、ない:

(?i)Projects/search.*?/newUI/(?!override).* 
(?i)Projects/search[^/]*/(?!newUI).* 

これが正常に除外するようだ:

(?i)Projects/search\.intrasearch/(?!newUI/override).*

+0

これはうまくいくはずですので、バグを報告します。 –

答えて

2

は私が最終的に2つの正規表現の組み合わせを使用してこれを考え出しましたnewUIの兄弟であるものと、オーバーライドする兄弟のもの。

+0

あなた自身の答えを受け入れることは大歓迎です。 –

+0

実際、私は明らかにもう2日待たなければなりません。私たちの中には、他の人たちほど特別ではない人もいます。 – mlissner

関連する問題