我在一个存储库中有很多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/*
我已经尝试在正则表达式语法下做同样的事情,它也不起作用。
答案 0 :(得分:1)
嗯,glob语法是" shell-style&#34 ;;例如,在Windows和Unixen上,*
不会递归到子目录中,而是匹配单个文件/文件夹。显然是Mercurial supports the **
glob,其中 递归:
syntax: glob
RepositoryMainFolder/**/obj/Debug/
RepositoryMainFolder/**/obj/x64/Debug/
对于Mercurial来说,整体并不是绝对的路径 - 所以你可以简单地写一下:
syntax: glob
/obj/Debug/
/obj/x64/Debug/
甚至只是
syntax: glob
/obj/
使用正则表达式,*
本身不是通配符,而是量词,这意味着之前的任何内容都是零或更多。 .
匹配正则表达式中的任何字符,因此您可以写:
syntax: regexp
RepositoryMainFolder/.*/obj/Debug/
RepositoryMainFolder/.*/obj/x64/Debug/