我的.hgignore中有“* .pyc”模式
.pyc文件确实在根级别被忽略,但不在子目录内。
有什么想法吗?
答案 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