如果我说 hg show $REV some_path -I're:.*included' -X're:.*excluded'
,这到底是什么意思?some_path
如何与--include
模式相互作用?--exclude
模式如何?
文件匹配是相对于三个定义集的:匹配(some_path
),inclage( re:.*included
)和排除( re:.*excluded
)。最终匹配的文件的集合是匹配的交集,包括 minus 排除;例如,(M / I) - E
。多次匹配/包括/排除在一起。
因此,例如,上面的示例与some_path/included
匹配,但不匹配included
(因为some_path
与此路径不匹配)。但是,如果您编写了-Isome_path -I.*included
,则将包括some_path
(因为包含集合的联合在一起。)净效应是您可以使用--include
来过滤不匹配任何任何的匹配项包括模式。
Mercurial特殊情况是没有匹配的情况(这意味着匹配所有内容),并且当没有包含或排除任何匹配(包括所有内容,不排除所有内容)。