2012-07-17 49 views
0

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

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 

是否有带注释的消息类似的命令提交标签或者是不是意味着这样的目的呢?

回答

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 

这会为每个混帐标签的进入以下列格式的消息文件:

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

Annotation for the tag 

条目反向排序,以便最上面的条目也是最近的条目。