这是我的文件/文件夹结构:
代码/ .hg
代码/ .hgignore
代码/ CASH / README.TXT
代码/ CASH / bin中/ FTI / abc.dll
我正在尝试在我的.hgignore文件中创建一个正则表达式,它将忽略CASH文件夹下的所有内容,除了/ bin / FTI文件夹中的所有内容。
这是我的.hgignore文件不起作用:
syntax: regexp
CASH/(?!bin/FTI/).*
这最终会忽略CASH文件夹中的所有内容,包括我不想忽略的/bin/abc.dll文件。
有什么想法吗?
答案 0 :(得分:1)
这不是你正在寻找的答案,但Mercurial在.hgignore文件中没有“除了”之外的正确语法的原因(零宽度预测正则表达式不是计划)是因为hg add
会覆盖.hgignore
。
您可以在其中添加.hgignore
个文件:
^CASH/
然后执行一次hg add CASH/bin/FTI/**
,您将跟踪该目录中已存在的所有文件的所有未来更改。
当然,如果在CASH / bin / FTI中显示新的二进制文件,您将不得不记住添加它,但对已添加的二进制文件的更改将不需要任何额外的操作。除非经常出现具有新名称的二进制文件,否则这是更常见的设置。
答案 1 :(得分:0)
glob可能更容易。如果使用正则表达式,那么:
syntax: regexp
CASH/(?!bin)
CASH/bin/(?!FTI)