hg tags
总是显示所有标签,那么我怎样才能只获得指向特定修订版及其所有祖先的标签?
实际用例是,如果我使用本地标签来指定变更集上的功能(或错误修复),我需要找出累积的功能/错误,直到特定版本。
一种解决方案是添加一个将“-r”添加到tags
. 那么实现它的最佳方法是什么?使用 revsets 获取所有祖先的 revs 并过滤标签?
hg tags
总是显示所有标签,那么我怎样才能只获得指向特定修订版及其所有祖先的标签?
实际用例是,如果我使用本地标签来指定变更集上的功能(或错误修复),我需要找出累积的功能/错误,直到特定版本。
一种解决方案是添加一个将“-r”添加到tags
. 那么实现它的最佳方法是什么?使用 revsets 获取所有祖先的 revs 并过滤标签?
这应该可以解决问题(需要 mercurial 1.7):
hg log -r "ancestors(<rev>) and tag()"
哪里<rev>
是哈希或本地修订号。但是,标记每个错误修复和功能似乎有点过头了。
除了标记,您只需遵循在提交消息中放置“bugfix: xyz”或“feature:abc”的约定。然后,您可以像这样提取所有错误修正和功能:
hg log -r "ancestors(<rev>) and (keyword(bugfix) or keyword(feature))"
为重要的里程碑或其他具有特殊意义的修订保留标签。
如果我对您的理解正确,您希望:
如果您可以将自己限制为标签名称,则可以这样做:
hg log -r "ancestors(HASH)" --template "{tags}"