如何查看删除特定分支*中匹配*的变更集?

时间:2018-01-18 19:22:35

标签: mercurial

正如hg help grep所说:

  

默认情况下,grep会打印每个文件的最新修订号       找到匹配的。要让它打印包含a的每个修订版       更改匹配状态(“ - ”表示匹配变为不匹配,或“+”       对于成为匹配项的不匹配项,请使用--all标志。

这与广告一样:当我运行hg grep --all pattern时,我会看到标有:+::-:的点击列表:

plaintext.py:8055:+:  ...
plaintext.py:4690:-:  ...
otherfile.py:4690:-:  ...
plaintext.py:4630:+:  ...
plaintext.py:4630:+:  ...

问题是当我尝试将搜索限制为分支或revset时:

hg grep --all -r 'branch(default)' pattern

以上将不再打印状态发生变化的修订版。打印了大量匹配的修订版(不仅仅是最新的或最古老的修订版),并且不再打印许多删除匹配项(标有:-:)的修订版。 (有些:-: - 仍然会打印修订版;我不明白这种情况何时发生。)

这似乎可能是一个错误,但我知道什么。我正在使用mercurial 4.2(在OS X上)。

我可以过滤无限制hg grep --all的输出;但默认格式不包括分支(我知道足够知道写一个包含所有当前信息和分支的模板)。

1 个答案:

答案 0 :(得分:1)

我认为你遇到了这个错误:

https://bz.mercurial-scm.org/show_bug.cgi?id=3885

不幸的是,“hg grep”是出了名的马车,可能需要做很多工作才能进入一个更有用的地方。