在mercurial中,如何只查看一组修订的标签而不是全部?

Geo*_*eng 4 mercurial mercurial-extension

hg tags 总是显示所有标签,那么我怎样才能获得指向特定修订及其所有祖先的标签?

真实世界的用例是,如果我使用本地标签来指定变更集上的功能(或错误修复),我需要找出累积的功能/错误直到特定的转速.

一种解决方案是添加一个将"-r"添加到的包装器命令tags.那么实现它的最佳方法是什么?使用revsets获取所有祖先转速并过滤标签?

Wim*_*nen 5

这应该做的伎俩(需要mercurial 1.7):

hg log -r "ancestors(<rev>) and tag()"
Run Code Online (Sandbox Code Playgroud)

<rev>哈希或本地修订号在哪里.但是,标记每个错误修复和功能似乎有点矫枉过正.

您可以按照约定,在提交消息中放置"bugfix:xyz"或"feature:abc",而不是标记.然后,您可以提取所有错误修正和功能,如下所示:

hg log -r "ancestors(<rev>) and (keyword(bugfix) or keyword(feature))"
Run Code Online (Sandbox Code Playgroud)

为重要里程碑或其他具有某些特殊意义的修订保留标记.