0

我一直在为我的文件寻找正则表达式,并在 SO (like this.hgignore )上找到了几个非常有用的答案,并提出了一个我认为应该可以排除所有文件和目录的正则表达式,除了否定前瞻中列出的文件和目录。

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

它似乎适用于RegExr,并遵循其他 SO 答案的模式,但如果我这样做,则显示的唯一文件hg status是它.hgignore本身;Mercurial中没有任何内容,certs也没有看到任何内容。config(如果我删除 .,肯定会出现那里的文件.hgignore。)

我在这里做错了什么?

4

2 回答 2

2

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

如果你真的想忽略大多数事情,只需使用这个 .hgignore 文件:

.*

然后在创建新文件时添加 cert 和 config 文件(只是勉强解决,但不会经常添加新的 cert 和 configs 文件版本)。一旦添加它们,它们就会被跟踪,并且它们的更改将hg status在它们被修改时显示为已修改。

于 2011-07-23T03:40:57.803 回答
0

只是一个猜测。您使用的是 @"literal string" 还是 "regular string" 您可能需要将 \ 变成 \\

于 2011-07-22T20:58:19.040 回答