我如何知道Mercurial的当前标签?

我如何知道Mercurial的当前标签?,mercurial,hgrc,Mercurial,Hgrc,现在,我通过Mercurial(hg)获得了vim源代码: 然后 几个小时后,我如何知道我使用了哪个标签 是否有一些Mercurial命令告诉您当前的标签信息?如果您确定您正在使用标签修订版,只需使用: hg id 这将显示修订哈希和任何标记(以及分支名称,如果存在) 如果当前版本没有标记,并且您希望查找最近的标记祖先,则可以改为使用: hg id -r 'ancestors(.) and tag()' 或同等标准,但更短: hg id -r '::. and tag()' 两者都通过查找

现在,我通过Mercurial(
hg
)获得了vim源代码:

然后

几个小时后,我如何知道我使用了哪个标签


是否有一些Mercurial命令告诉您当前的标签信息?

如果您确定您正在使用标签修订版,只需使用:

hg id
这将显示修订哈希和任何标记(以及分支名称,如果存在)

如果当前版本没有标记,并且您希望查找最近的标记祖先,则可以改为使用:

hg id -r 'ancestors(.) and tag()'
或同等标准,但更短:

hg id -r '::. and tag()'
两者都通过查找所有祖先和所有标记修订的交点来工作


您还可以查看
hg log-G
的输出,找出您所在的位置(修订图中的当前节点将标记为
'@'
,而不是
'o'
),然后使用日志和模板定位最近的标记。

祖先中的最新标记


hg log-r.”--template“{latesttag}\n”

revset必须是
祖先(.)和tag()
,而且更好,因为它还生成revset(不是一个单独的修订)
last(祖先()和tag())
将修复
祖先(),只有hgid起作用。另外两个总是报告错误“abort:unknown revision XXX”@harris-old Mercurial(无revset)?请注意,您实际上并不是在“处理标记”。标记在历史记录中是一个固定的位置,而不是您处理的对象本身。也许你想要书签?
hg id -r 'ancestors(.) and tag()'
hg id -r '::. and tag()'