我在一个存储库中有许多c#类库。我想全面忽略/obj/Debug/文件夹中存在的所有文件,无论它们可能存在于何处。它们基本上可以存在于单个项目的任何深度。
例子:
RepositoryMainFolder MainProject obj 调试RepositoryMainFolder RepositoryMainFolder.Internal.ProjectA SbiLib.Internal.ProjectA obj 调试RepositoryMainFolder RepositoryMainFolder.Internal.ProjectB RepositoryMainFolder.Internal.ProjectB obj 调试
到目前为止,我已经尝试了一些方法,但这似乎是我所追求的,但它似乎不起作用。
。hgignore:
syntax: glob
RepositoryMainFolder/*/obj/Debug/*
RepositoryMainFolder/*/obj/x64/Debug/*
我已经尝试过在regex语法下做同样的事情,它也不起作用。
glob语法是"shell-style";例如,在Windows和Unixen上,*
不会递归到子目录中,而是匹配单个文件/文件夹。显然Mercurial支持**
glob,其中对进行递归:
syntax: glob
RepositoryMainFolder/**/obj/Debug/
RepositoryMainFolder/**/obj/x64/Debug/
在Mercurial中,globs不是绝对路径,所以您可以简单地写:
syntax: glob
/obj/Debug/
/obj/x64/Debug/
或者只是
syntax: glob
/obj/
对于正则表达式,*
本身不是通配符,而是量词,表示之前的零或更多。.
匹配正则表达式中的任何字符,因此您可以这样写:
syntax: regexp
RepositoryMainFolder/.*/obj/Debug/
RepositoryMainFolder/.*/obj/x64/Debug/