Mercurial中的多个--include /-exclude标志是什么意思

时间:2019-03-14 16:12:07

标签: mercurial

如果我说hg show $REV some_path -I're:.*included' -X're:.*excluded',这到底是什么意思? some_path--include模式如何相互作用? --exclude模式怎么样?

1 个答案:

答案 0 :(得分:3)

针对三个已定义的集合进行文件匹配:匹配(some_path),包含(re:.*included)和排除(re:.*excluded)。最终匹配文件的集合是匹配项的交集,包括排除项;例如(M /\ I) - E。多个匹配项/包含项/排除项结合在一起。

因此,例如,上面的示例匹配some_path/included但不匹配included(因为some_path与该路径不匹配)。但是,如果您改写了-Isome_path -I.*included,则将包含some_path(因为include集将这两个元素合并在一起。)最终的结果是,您可以使用--include来过滤出符合条件的匹配项与任何的包含模式都不匹配。

在特殊情况下,没有匹配项(即匹配所有内容)和没有包含或排除项(包括所有内容,不排除任何内容)的情况。