【发布时间】:2011-01-15 20:38:44
【问题描述】:
使用 Mercurial,我需要忽略所有文件,除了某个名为“keepers”的目录中的文件。
从表面上看,使用 Regex 和 Negative Lookahead 似乎很容易;然而,虽然我能够在 Regex Buddy 和其他工具中验证我的正则表达式,但在 TortoiseHg 中,它并没有按预期工作。
文件:
- 垃圾\junk.txt
- 垃圾\文本
- 守门员\测试\测试
- keepers\test\test2\hi.txt
- keepersblah.txt
只有keepers下的两个文件不能忽略。
这是我希望能起作用的正则表达式:
^(?!keepers/).+$
很遗憾,这会导致所有文件都被忽略。如果我将其更改为:
^(?!keepers).+$
它可以按您的预期工作。也就是说,它会忽略任何不以 Keepers 开头的文件/文件夹。但我确实想忽略以 Keepers 开头的文件。
奇怪的是,如果我把它改成这样:
^(?!keepers/).+\..+$
它会正确匹配文件夹,但不会忽略不在 Keepers 文件夹中的文件(如果它们没有扩展名)。
任何建议将不胜感激。
删除无效的 ImageShack 链接
【问题讨论】:
标签: regex mercurial tortoisehg hgignore