Dre*_*ols 3 regex mercurial hgignore
我有一个RE检查器,说这应该工作.我究竟做错了什么?!?
我想忽略的例子:
apps/cms/templates/cms/test_bup_DEPRECATED/widgets/page_link.html
Run Code Online (Sandbox Code Playgroud)
我的.hgignore文件:
syntax: regexp
^static
.*_DEPRECATED.*
Run Code Online (Sandbox Code Playgroud)
我尝试了各种各样的事情并没有成功:(
另一次尝试失败:
syntax: glob
_DEPRECATED/*
Run Code Online (Sandbox Code Playgroud)
更新:我编辑.hgignore文件到这个:
syntax: glob
**_DEPRECATED/**
Run Code Online (Sandbox Code Playgroud)
但是hg st仍然这样做:
$ hg st | grep DEPR
A apps/cms/templates/cms/test_DEPRECATED/base.html
Run Code Online (Sandbox Code Playgroud)
结果相同:
syntax: glob
_DEPRECATED
Run Code Online (Sandbox Code Playgroud)
首先,.hgignore不会忽略Mercurial已经跟踪过的文件.您的示例表明该文件已被跟踪:
$ hg st | grep DEPR
A apps/cms/templates/cms/test_DEPRECATED/base.html
Run Code Online (Sandbox Code Playgroud)
该文件已添加,但未提交.使用hg forget有关文件给忘了,然后忽略模式将生效.
.hgignore 模式匹配路径的任何部分,所以这就是你需要的:
syntax: regexp
_DEPRECATED/
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要目录的尾部斜杠,或者它也将匹配以结尾的文件_DEPRECATED,否则将其删除.
为了计算忽略模式,TortoiseHg(thg ignore)中的忽略GUI 非常有用.它显示未跟踪且未被忽略的所有文件,并且可以输入模式,直到忽略正确的文件.