如何列出某个Mercurial分支中的所有标签?

时间:2015-09-17 06:16:50

标签: mercurial

是否可以仅在某个分支上列出标签? (最好从命令行)

例如:

$ hg branch test1
... (make some commits)
$ hg tag mytag_on_test1_branch

$ hg branch test2
... (make some commits)
$ hg tag mytag_on_test2_branch
... (make some commits)
$ hg tag mytag_on_test2_branch_2

现在hg tags返回:

$ hg tags
tip                                5:34603c3a4107
mytag_on_test2_branch_2            4:72db17d2170c
mytag_on_test2_branch              2:09aed50d8b95
mytag_on_test1_branch              0:d43c48c0e1d8

我只想看到分支上的标签" test2",就像这样:

mytag_on_test2_branch_2            4:72db17d2170c
mytag_on_test2_branch              2:09aed50d8b95

这可能吗?

1 个答案:

答案 0 :(得分:9)

像往常一样,答案在于正确使用revsets;它们是将修订范围限制在几乎任何需要的强大工具。有关详细信息,请参阅hg help revsets

在您的情况下,我们还使用输出模板仅显示标记而不是这些修订的完整日志输出。因此,如果您需要THISBRANCH的所有标签:

hg log --rev="branch(THISBRANCH) and tag()" --template="{tags}\n"

广泛标记的回购邮件的示例输出

hgsubversion>hg log -r "branch(stable) and tag()" -T "{tags}\n"
1.5.1
1.6.1
1.6.2
1.6.3
1.7
1.8
1.8.1
1.8.2