我的.hgignore文件中有以下内容:
Syntax: glob obj/* bin/* *.suo *.user *.ncb
如果我注释掉*.过滤器,过滤功能可以过滤掉bin和obj文件夹中的文件,但是,如果我保留这些过滤器,我收到以下错误:
abort: c:\temp\.hgignore: invalid pattern (relre): *.suo
注意:文件以UTF-8编码
Mercurial的错误消息告诉我们您的语法:glob line不是由Mercurial读取的.忽略文件中的模式默认为正则表达式,* .suo确实是无效的正则表达式(正则表达式不能以*开头).
由于这是在Windows上,并且由于文件是UTF-8编码,所以唯一合理的解释是有一些使Mercurial忽略语法:glob行.一个UTF-8 BOM是这样的“东西”!字节顺序标记是插入UTF-16编码文件的小签名,用于表示文件的字节顺序.对于UTF-8编码的文件,这不是必需的或推荐的,但Windows编辑器倾向于插入它们.
要解决这个问题,请在记事本中打开文件,然后选择“另存为”.然后选择ANSI作为编码.您的.hgignore文件是纯ASCII,所以这将有效地与没有BOM的UTF-8相同.