我使用空.hg_keep
文件在 Mercurial 中保留一些(否则为空的)文件夹。
问题是我找不到一个工作正则表达式,它排除了除.hg_keep
文件之外的所有内容。
假设我们有这个文件结构:
a/b/c2/.hg_keep
a/b/c/d/.hg_keep
a/b/c/d/file1
a/b/c/d2/.hg_keep
a/b/.hg_keep
a/b/file2
a/b/file1
a/.hg_keep
a/file2
a/file1
我只想.hg_keep
保留a/b/
.
在http://gskinner.com/RegExr/的帮助下,我创建了以下内容.hgignore
:
syntax: regexp
.*b.*/(?!.*\.hg_keep)
但 Mercurial.hg_keep
会忽略b
.
# hg status
? .hgignore
? a/.hg_keep
? a/b/.hg_keep
? a/file1
? a/file
# hg status -i
I a/b/c/d/.hg_keep
I a/b/c/d/file1
I a/b/c/d2/.hg_keep
I a/b/c2/.hg_keep
I a/b/file1
I a/b/file2
我知道我可以hd add
保存所有.hg_keep
文件,但是有正则表达式(或 glob)的解决方案吗?