现在,我正在通过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命令告诉当前标签信息?
答案 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'
)和然后找到最近的标签。