为什么我的正则表达式在 Mercurial 的 .hgignore 中没有得到我想要的文件?



我一直在为我的.hgignore文件追逐正则表达式,并在SO(像这样)上找到了几个非常有用的答案,并提出了一个regexp,我认为应该排除所有文件和目录,除了那些在负面展望中列出的。

^(?!(certs/|config/|.hgignore)).+

它似乎在RegExr上工作,并遵循其他SO答案的模式,但如果我做hg status,唯一显示的文件是.hgignore本身;在certsconfig中没有被水星发现。(如果我删除.hgignore,肯定会出现文件)

我哪里错了?

白名单并不容易,因为它们很少是必需的。一旦添加了一个文件,它就会被跟踪,而.hgignore文件对它完全没有影响。这并不适用于目录(在Mercurial或git中不跟踪目录),但它可以处理像.hgignore这样的文件。因此,只要添加一次就可以完全将其从白名单中删除,即使您确实尝试过。

如果您真的想忽略大部分内容,只需使用.hgignore文件:

.*

然后在创建新的证书和配置文件时添加证书和配置文件(只是冒险,但通常不会添加新的证书和配置文件版本)。一旦它们被添加,它们将被跟踪,当它们被修改时,它们的更改将显示在hg status中。

只是猜测。您使用的@是"文字字符串"还是"常规字符串"您可能需要将其变成\

相关内容

  • 没有找到相关文章

最新更新