在我的.hgignore文件中,我试图忽略所有生成的xll文件。我(不幸的是)在存储库域中有一个名为"xll"的目录,我确实而不是想忽略目录本身。
I have try:
syntax: regex
.xll$
我认为它的意思应该是"匹配所有以'。xll'结尾的内容"。和
syntax: regex
*..xll$
,我认为它的意思应该是"匹配所有至少有一个任意字符,后面跟着'.xll'"。
使用上述任何一个,目录都不会被忽略(耶),但文件foobar也不会被忽略。xll(该死的)。如果我在正则表达式中使用"xll"或"*"。目录和文件都将被忽略。
这是在linux (Ubuntu 10.04.4)与hg 2.6 (TortoiseHG 2.8)(我通过"X"图标的存在或不存在观察鹦鹉螺的效果)。
提前感谢!
编辑(在这里添加注释,因为它们太长了,不能放在注释中…)感谢所有的回复。原来我误解了一些事情。所以:-因为我使用"regex"而不是"regexp"(我有"glob"在文件的顶部),无论我把"xll"的行被"glob"解释,所以这行确实有一个效果(这让我认为,错误地,"syntax: regex"行正在做我认为它是什么-巧合的是,我的"xll"目录中的所有文件都被.hgignore中的其他行过滤掉了(应该是这样),而不是被"*"过滤掉了。xll"行因此,在Nautilus中,xll目录被标记为"忽略",不是因为过滤器忽略了整个目录,而是因为其他过滤器过滤了目录下的所有文件
底线,*。我在"syntax: glob"下的xll实际上完全按照需要过滤掉了文件。
是.*.xll$
,不是*..xll$
。
使用glob语法对我来说很好:
syntax: glob
*.xll
当我用一个未跟踪的文件创建一个名为xll
的目录时,我仍然在hg status
的输出中看到该文件:
$ mkdir xll
$ touch a.xll x.txt xll/b.xll xll/y.txt
$ echo 'syntax: globn*.xll' > .hgignore
$ hg status
? .hgignore
? x.txt
? xll/y.txt
使用.xll$
和syntax: regexp
也很适合我。