使用 Mercurial,我需要忽略除目录“tests”和“languages”以及这些目录中的文件之外的所有文件和目录。这一切都必须用正则表达式和 .hgignoere 来完成
文件:
我试过这个:
^(?!test|test/|test$|languages|languages/|languages$)
但这仅匹配以 test 和 language 开头的文件:
我想要的也是匹配
任何意见,将不胜感激。
最佳答案
这不是您要寻找的答案,但几乎没有人使用负宽度前瞻?:
.hgignore 文件中的语法。如果他们只想忽略所有文件的一小部分,他们通常会忽略所有内容,然后 hg add
异常(exception)情况——请记住,在 mercurial 中(与 cvs/svn 不同)添加文件覆盖忽略。
所以如果你的 .hgignore 你有:
.*
然后你会
hg add
您的测试和语言目录中的文件显式使用“hg add”。你这样做,当然必须记住添加任何新文件,因为一切都将被忽略,但如果大多数文件应该被忽略,它仍然是更简单的方法。
关于regex - Mercurial .hgignore 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246700/