我同时使用mercurial和git进行类似的工作,并维护并行的全局忽略文件。现在,这两个系统的基本语法非常相似,我可以几乎为两个系统使用相同的忽略文件。但不完全。
git
使用(扩展)globs指定忽略模式。
hg
使用完整的正则表达式(默认值)或扩展的globs来指定忽略模式。有一种方法可以指定使用哪个系统。
因此,要为两个系统使用相同的globs列表,我的hg
忽略文件需要包含一行声明glob语法生效:
syntax: glob
# Compilation artifacts
*.o
git
无法识别此语法声明(它不需要一个,因为它只接受glob语法)。我已经尝试过并确认它被视为另一个文件名:如果我创建一个名为syntax: glob
的文件(名称中有空格),git
会忽略它。这似乎无害但丑陋。那么:有没有办法为两个系统构建一个忽略模式有效的文件,没有这个小疣?