Как узнать текущий тег Mercurial?

Теперь я получаю исходный код vim от Mercurial (hg):

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 ответа

Решение

Последний тег в предках, используя журнал и шаблоны

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

Если вы уверены, что находитесь на теговой ревизии, просто используйте:

hg id

Это покажет хеш ревизии и любые теги (и имя ветви, если оно существует).

Если текущая ревизия не имеет тега и вы хотите найти ближайшего тегированного предка, вы можете вместо этого использовать:

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

или эквивалент, но короче:

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

Оба работают, находя пересечение всех предков и всех помеченных ревизий.

Вы также можете посмотреть на вывод hg log -G чтобы узнать, где вы находитесь (текущий узел в графе ревизий будет помечен '@' вместо 'o'), а затем найдите ближайший тег.

Другие вопросы по тегам