我想使用TortoiseHg在我的Mercurial存储库中搜索具有特定日志消息的提交(例如" merge")。 这是我的存储库,没有任何搜索:
当我搜索" merge"我明白了:
所以看起来搜索找到第一个匹配并显示其所有祖先。过滤了它打开的不匹配的更改集:
我只想看到匹配的祖先。它适用于我的同事,但我们无法找到我们的环境之间的不同之处。我们都使用版本3.9在Windows 10 x64上使用相同的扩展名。
这是另一个搜索"工作的例子!":
具体使用关键字:
按作者过滤:
它总是找到第一个匹配并显示所有祖先......
答案 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中,因为他们都符合条件
仅在日志matching()
中进行“合并”可能会更好,但如果您真的想要合并 merge()
自然之道(tm),以及合并的最终版权,它的父母可能是
merge() or parents(merge())
答案 1 :(得分:0)
我卸载了TortoiseHg,从机器上删除了所有文件(AppData,配置等)并从头开始重新安装,现在它似乎正常工作。由于我已经尝试过一个月前重新安装,我想清理所有文件都有帮助。