如何忽略没有扩展名的文件名



Mercurial可以配置为忽略文件名有特定扩展名的文件。例如,*.txt文件可以通过将此添加到~/.hgignore:

来忽略:
syntax: glob
*.txt

我如何设置我的。hgignore文件忽略文件名有没有扩展名的文件?例如,应该忽略名为foobarabracadabra的文件,而应该跟踪名为foobar.cppabracadabra.c的文件。

使用regexp语法代替,因为glob:

syntax: regexp
^[^.]+$

PS:你可以把它添加到你的syntax: glob

如果您想忽略一小部分没有扩展名的文件,那么您可以将它们列为glob模式:

syntax: glob
foobar
abracadabra

如果您想忽略所有没有扩展名的文件,那么事情就变得更加困难了。如果您使用zerkms提供的regexp,

syntax: regexp
^[^.]+$

那么你也会忽略目录没有"扩展名",即目录没有.在他们的名字,如src,等等。

因为Mercurial在遍历工作副本时自上而下地匹配文件和目录,并且因为它在匹配.hgignore文件中的模式时不区分文件和目录,所以不能在包含目录的同时忽略同名的文件。

(您可以模拟相反的情况:通过在regexp语法中忽略foobar/,您最终会忽略foobar/中的所有文件,而不会忽略另一个目录中名为foobar的文件)

相关内容

  • 没有找到相关文章

最新更新