15

现在,我通过 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 命令告诉当前标签信息?

4

2 回答 2

26

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

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

于 2013-07-25T03:11:15.610 回答
21

如果您确定自己正在进行标记修订,请使用:

hg id

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

如果当前版本没有标签并且你想找到最近的标签祖先,你可以使用:

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

或等效的,但更短:

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

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

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

于 2013-07-25T02:43:01.350 回答