我怎么知道Mercurial的当前标签?

时间:2013-07-25 02:03:46

标签: mercurial hgrc

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

root@flyingfisher-virtual-machine:/work/ABC/VIM_HG# hg tags |more
tip                             5228:3f65dc9c8840
v7-4a-039                       5227:a08fa2919f2b
v7-4a-038                       5225:8f983df0299f
v7-4a-037                       5223:91d478da863e
v7-4a-036                       5221:9982ec574beb
v7-4a-035                       5218:4ceacc1b0054
v7-4a-034                       5216:947edb6335d1
v7-4a-033                       5214:fa024ce48542
v7-4a-032                       5212:2741b46e96bf
v7-4a-031                       5210:839ebe7c1b2f

然后

root@flyingfisher-virtual-machine:/work/ABC/VIM_HG# hg update v7-4a-018
216 files updated, 0 files merged, 0 files removed, 0 files unresolved

几个小时后,我怎么知道我在哪个标签上工作?

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

2 个答案:

答案 0 :(得分:24)

祖先中的最新标记,使用日志和模板

hg log -r "." --template "{latesttag}\n"

答案 1 :(得分:16)

如果您对标记的修订版表示肯定,请使用:

hg id

这将显示修订版散列和任何标记(以及分支名称,如果存在)。

如果当前版本没有标记,并且您想要找到最接近标记的祖先,则可以使用:

hg id -r 'ancestors(.) and tag()'

或同等的,但更短的:

hg id -r '::. and tag()'

通过查找所有祖先和所有标记修订的交集来完成工作。

您还可以查看hg log -G的输出以找出您的位置(修订图中的当前节点将标有'@'而不是'o')和然后找到最近的标签。