Mercurial中多个--include / - exclude标志的含义是什么?

问题描述 投票:2回答:1

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

mercurial
1个回答
3
投票

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

因此,例如,上面的示例匹配some_path/included但不匹配included(因为some_path与此路径不匹配)。但是,如果您改为编写-Isome_path -I.*included,那么将包含some_path(因为include集合将这两者组合在一起。)净效果是您可以使用--include过滤掉与任何包含模式不匹配的匹配。

Mercurial特殊情况下没有匹配(即匹配所有内容)以及没有包含或排除(包括所有内容,不包括任何内容)时的情况。

© www.soinside.com 2019 - 2024. All rights reserved.