是否可以仅在某个分支上列出标签? (最好从命令行)
例如:
$ 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
这可能吗?
答案 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