为NEWS文件使用带注释的标签

时间:2012-07-17 16:22:04

标签: git

GNU编码标准要求每个符合要求的源代码分发都提供包含更改摘要的NEWS文件。我认为这是一个好主意(但这并不重要)因为我使用git我认为自动生成该文件会很棒。我的想法是使用带注释标签的消息(当我创建标签时,我也写了变更摘要)并将它们放入此文件中。但是,我没有找到一种方法来轻松访问该消息。我使用了以下代码:

git tag -l -n100 <tag-name>

哪个给了我

<tag-name>           Message-Header 1

    - foo
    - bar
    - bla
    - blup

我想收到没有<tag-name>的消息和那些空格。对于提交消息,我可以使用

git --format='%s %b' <id> # %s = subject, %b = body of commit message

对带注释的提交标记的消息是否有类似的命令,或者它不是出于此类目的?

1 个答案:

答案 0 :(得分:0)

我终于找到了自己如何做到这一点,git for-each-ref --format='...' refs/tags正是我所寻找的:

git for-each-ref --sort='-*committerdate' --format \
    'News for %(refname:short):%0a===============%0a%0a%(body)' \
    refs/tags > NEWS

这将以下列格式将每个git标记的条目添加到NEWS文件中:

News for <git-tag-name>:
========================

Annotation for the tag

对条目进行反向排序,以使最上面的条目也是最新的。