我正在寻找.hgignore文件的表达式,以忽略指定文件夹下的所有文件.
例如:我想忽略bin下面的所有文件和文件夹
实际上,关于如何形成表达式的任何建议都会很棒
交替:
syntax: glob bin/**
我做了一些实验,我发现Windows上的正则表达式语法适用于从当前存储库开始的路径,反斜杠转换为斜杠.
因此,如果您的存储库位于E:\ Dev中,hg status
则会对foo/bar/file1.c等应用模式.锚点适用于此路径.
所以:
Glob适用于路径元素,并且根植于元素部分
foo匹配任何名为foo的文件夹(或文件)(不是"foobar"或"barfoo")
*foo*匹配名称中带有"foo"的任何文件夹或文件
foo/bar*匹配以"bar"开头的"foo"文件夹中的所有文件
正则表达式区分大小写,而不是锚定
当然,反斜杠正则表达式的特殊字符就像.(点)
/匹配Windows上的路径分隔符.\与此分隔符不匹配...
foo匹配所有文件和文件夹里面有"foo"
foo /仅匹配以"foo"结尾的文件夹
/ foo /匹配路径中某处的文件夹"foo"
/ foo/bar /匹配路径中某处文件夹"foo"中的文件夹"bar"
^ foo匹配存储库根目录下的foo文件或文件夹
foo $匹配以foo结尾的文件
我希望这会有所帮助,我发现HGIGNORE(5)页面有点简洁.
这两个也将过滤掉一个名为的目录cabin
,这可能不是你想要的.如果您要过滤顶级,则可以使用:
^/bin/
对于bin
root下面的目录,可以省略^.无需指定语法,regexp是默认语法.