hg忽略文件夹下的所有dll

时间:2016-10-22 02:05:30

标签: mercurial ignore hgignore

我无法让这个工作

enter image description here

我想排除VirtualDlls文件夹下的所有.dll文件。

我一直在尝试使用正则表达式和全局变量,但我要么排除所有文件,要么没有。

全局

ScriptCode.ConvertedToC#/VirtualDlls/**.dll

没有任何文件

正则表达式:

^ScriptCode.ConvertedToC#/VirtualDlls/.+/.+.dll$

获取所有文件,包括以.cs

结尾的文件

1 个答案:

答案 0 :(得分:3)

诀窍是保持简单并理解匹配不是根,如hgignore文档中所述。

如果您要排除以.dll结尾的任何文件,无论它们在何处,都可以:

syntax: glob
*.dll

如果您只想在VirtualDlls目录下面排除(非递归):

syntax: glob
VirtualDlls/*.dll

如果您想以递归方式仅在VirtualDlls目录下面排除,那么您有两个选择。

长篇:每个目录级别一条规则:

syntax: glob
VirtualDlls/*.dll
VirtualDlls/*/*.dll

简短的:使用**

syntax: glob
VirtualDlls/**.dll

在您的示例中,您也使用**,但我认为它不起作用,因为它还包含第一个目录ScriptCode.ConvertedToC#

我测试了所有的例子,它们都有效(在Mac上测试过,但我不明白为什么它们也不适用于Windows)。