NAME

Dist::Zilla::Plugin::ChangelogFromGit - build CHANGES from git commits and tags

VERSION

version 0.001

SYNOPSIS

In your dist.ini:

[ChangelogFromGit]
max_age     = 365
tag_regexp  = ^v\d+_\d+$
file_name   = CHANGES
wrap_column = 74

The example values are the defaults.

DESCRIPTION

This Dist::Zilla plugin writes a CHANGES file that contains formatted commit information from recent git logs.

This plugin has the following configuration variables:

  • max_age

    It may be impractical to include the full change log in a mature project's distribution. "max_age" limits the changes to the most recent ones within a number of days. The default is about one year.

    Include two years of changes:

    max_age = 730
  • tag_regexp

    This plugin breaks the changelog into sections delineated by releases, which are defined by release tags. "tag_regexp" may be used to focus only on those tags that follow a particular release tagging format. Some of the author's repositories contain multiple projects, each with their own specific release tag formats, so that changelogs can focus on particular projects' tags. For instance, POE::Test::Loops' release tags may be specified as:

    tag_regexp = ^ptl-
  • file_name

    Everyone has a preference for their change logs. If you prefer lowercase in your change log file names, you migt specify:

    file_name = Changes
  • wrap_column

    Changes from different contributors tend to vary in format. This plugin uses Text::Wrap to normalize the width of commit messages. The "wrap_column" parameter may be used to alter the reformatted line width. If 74 is to short, one might specify:

    wrap_column = 78

Subversion and CVS

This plugin is almost entirely a copy-and-paste port of a command-line tool I wrote a while ago. I also have tools to generate change logs from CVS and Subversion commits. If anyone is interested, plugins for these other version control systems should be about an hour's work apiece.

AUTHOR

Rocco Caputo <rcaputo@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Rocco Caputo.

This is free software; you may redistribute it and/or modify it under the same terms as the Perl 5 programming language itself.