如何查询带标签版本的后代变更集且排除标签本身?
解决方法
你可以直接用Mercurial修订集的集合排除语法修改原命令即可:
hg log --rev "descendants(last(tagged())) - last(tagged())"
原理说明
descendants()函数默认会包含你传入的根修订版本,也就是这里最近带标签的变更集本身- 修订集语法中的
-运算符可以用来排除指定的修订集合,直接减去last(tagged())对应的单个变更集,就能过滤掉你不需要的带标签节点
如果你觉得表达式太长,也可以在你的Mercurial配置文件(.hgrc/Mercurial.ini)中添加自定义别名,方便后续复用:
[revsetalias] # 定义别名:查询最近打标签之后的所有变更 afterlatesttag = descendants(last(tagged())) - last(tagged())
配置完成后,后续直接执行下面的命令就能得到相同结果:
hg log --rev afterlatesttag
内容的提问来源于stack exchange,提问作者August Karlstrom
相关产品推荐
相关产品推荐

