我有一个 RE 检查器说这应该可以工作。我究竟做错了什么?!?
我试图忽略的示例:
apps/cms/templates/cms/test_bup_DEPRECATED/widgets/page_link.html
还有我的 .hgignore 文件:
syntax: regexp
^static
.*_DEPRECATED.*
我尝试了各种方法,但都没有成功:(
另一个失败的尝试:
syntax: glob
_DEPRECATED/*
更新:
我将 .hgignore 文件编辑为:
syntax: glob
**_DEPRECATED/**
但是 hg st 仍然这样做:
$ hg st | grep DEPR
A apps/cms/templates/cms/test_DEPRECATED/base.html
相同的结果:
syntax: glob
_DEPRECATED
最佳答案
首先,.hgignore
不会忽略 Mercurial 已经跟踪的文件。您的示例表明该文件已被跟踪:
$ hg st | grep DEPR
A apps/cms/templates/cms/test_DEPRECATED/base.html
该文件已添加,但未提交。使用
hg forget
忘记文件,然后忽略模式将生效。.hgignore
模式匹配路径的任何部分,所以这就是你所需要的:syntax: regexp
_DEPRECATED/
请注意,您可能需要目录的尾部斜杠,否则它也会匹配以
_DEPRECATED
结尾的文件,否则删除它。要计算忽略模式,TortoiseHg (
thg ignore
) 中的忽略 GUI 非常有用。它显示所有未跟踪和未忽略的文件,并且可以输入模式,直到忽略正确的文件。关于regex - Mercurial .hgignore 挫折,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11303202/