如何将.hgignore模式应用于子目录?

时间:2010-12-26 00:09:14

标签: mercurial

我的.hgignore中有“* .pyc”模式

.pyc文件确实在根级别被忽略,但不在子目录内。

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

使用glob语法(将syntax: glob放在文件顶部),它应该有效。默认情况下,Mercurial默认为正则表达式。

syntax: glob

*.pyc

答案 1 :(得分:6)

默认情况下,模式是python正则表达式。在路径的每个组件中搜索表达式。所以你可能希望\.pyc$匹配以.pyc结尾的文件

$ hg init test-ignore
$ cd test-ignore 
$ touch foo.pyc
$ mkdir bar 
$ touch bar/bar.pyc
$ echo "\.pyc$" > .hgignore
$ hg st        
? .hgignore

请注意,“。pyc $”将忽略“foopyc”,因为未转义的点匹配任何字符。类似地,“。pyc”将匹配“foo.pyche.bar”

如果您不喜欢正则表达式语法,可以切换到全局变量。 例如,Mercurial存储库中的当前.hgignore以:

开头
syntax: glob

*.elc
*.orig
*.rej
*~
*.mergebackup
*.o
*.so
*.pyd
*.pyc
*.swp
*.prof
\#*\#
.\#*

所有内容都在man 5 hgignore

中解释

答案 2 :(得分:4)

您可以尝试使用此代码

syntax:glob


**.pyc
相关问题