TortoiseHg:不要在关键字搜索结果中显示祖先

时间:2016-08-21 07:23:49

标签: mercurial tortoisehg

我想使用TortoiseHg在我的Mercurial存储库中搜索具有特定日志消息的提交(例如" merge")。 这是我的存储库,没有任何搜索:

enter image description here

当我搜索" merge"我明白了:

enter image description here

所以看起来搜索找到第一个匹配并显示其所有祖先。过滤了它打开的不匹配的更改集:

enter image description here

我只想看到匹配的祖先。它适用于我的同事,但我们无法找到我们的环境之间的不同之处。我们都使用版本3.9在Windows 10 x64上使用相同的扩展名。

这是另一个搜索"工作的例子!":

enter image description here

具体使用关键字:

enter image description here

按作者过滤:

enter image description here

它总是找到第一个匹配并显示所有祖先......

2 个答案:

答案 0 :(得分:0)

  

所以看起来搜索找到第一个匹配并显示其所有祖先

不,你错过了这里。搜索中的纯文本模式TEXT(在内部)使用revset中的谓词keyword(),在您的情况下使用hg log -T {rev}^M -r keyword('merge')。但是:

"keyword(string)"
  Search commit message, user name, and names of changed files for
  string. The match is case-insensitive.

搜索范围比您预期的要宽。只是与我的回购比较,“合并”只是日志消息的一部分:只有两个直系亲属出现在revset中,因为他们都符合条件

enter image description here

仅在日志matching()中进行“合并”可能会更好,但如果您真的想要合并 merge() 自然之道(tm),以及合并的最终版权,它的父母可能是

merge() or parents(merge())

答案 1 :(得分:0)

我卸载了TortoiseHg,从机器上删除了所有文件(AppData,配置等)并从头开始重新安装,现在它似乎正常工作。由于我已经尝试过一个月前重新安装,我想清理所有文件都有帮助。