当发布perl模块时,有没有一种自动的方法可以从'git log'生成“Changes”文件?

gpnt7bae  于 2022-11-15  发布在  Perl
关注(0)|答案(2)|浏览(122)

这是一个特定于perl模块的问题:
我已经在git中有了我的历史和版本标记,所以在发布模块更新之前将./Changesgit log同步会很好。
具体来说,我正在寻找的东西,生成的Changes文件的格式,perl模块Changes文件应该在一个CPAN摘要:

<version>   <date>
    Change 5
    Change 6
<version>   <date>
    Change 3
    Change 4
<version>   <date>
    Change 1
    Change 2

我写我的提交的方式,git log --online条目的格式对于Changes文件是正确的,没有不必要的噪音。至少目前,因为我是唯一的作者,这是一个一致的策略。
如何让git --online创建一个基于标签的版本文件,并迭代地获取每个标签的--online条目?

3htmauhk

3htmauhk1#

我采取了一点不同的方法,自动生成一个发布文件,由我的gpg键签名,作为cpan上发布的一部分。
如果您使用Dist::Zilla作为发布过程的一部分,则可以将其添加到dist.ini中。可以在https://metacpan.org/pod/Dist::Zilla::Plugin::SignReleaseNotes上找到它
我用它在www.example.com上为我的模块发布了一个发布说明github.com,其中包含cpan发布文件的校验和以及自上一次发布以来的git提交。
我仍然维护一个单独的更改文件。如果这有帮助,如果没有的话,那里的代码将向您展示如何获得最新标记和前一个标记之间的在线提交。

vx6bjr1n

vx6bjr1n2#

有很多程序可以从Git提交历史记录中生成一个changelog文件(只要在Github上搜索“gitlog2changelog”之类的东西就可以了),我甚至在过去也用过。
但这是个糟糕的主意。
你的文档已经包含了一个Git repo的链接,所以任何人都可以访问你的提交历史。但是,根据你的提交和合并策略,这可能包含太多的信息,对大多数人来说都没有用。
变更日志(至少在我看来)应该是项目中变更的更高层次的总结。您应该阅读提交历史,并使用它来创建有用的变更总结。
请参阅Keep a ChangeLog,以取得有关变更记录档外观的更多详细信息。

相关问题