The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

changes - interact with the Changes file

SYNOPSIS

    changes -av -at APIBREAK -ac "Complete rewrite"

DESCRIPTION

You can use this program to interact with a Changes file. Basically it first either reads an existing Changes file or creates a new one, then manipulates it, then either stores the results back in the file or displays it on STDOUT.

To make the Changes file machine-readble, YAML is used as the Changes file format. See Module::Changes for a discussion of the YAML schema used for the Changes file, and for the definition of the terms revision, version, subversion and alpha.

All is explained in the documentation of the command-line options.

COMMAND-LINE OPTIONS

--file <file>, -f <file>

The filename of the Changes file you would like to interact with. The --new and --show options influence how this is used. Normally the Changes file is read, manipulated, and overwritten. If you omit this argument, the filename Changes in the current directory is used.

If you use both --new and --show, the --file won't have any effect and the program exits with a corresponding error message.

--new, -n

Don't read from the file indicated by --file, but create a new Changes file. It will have a default release. Unless you also use the --sv option, its release number will be v0.01. You can still use the other options like --au, --ac and so forth to manipulate that first release.

--show, -s

Don't write to the file indicated by --file, but print the results to STDOUT.

--ar

Add a new release. Its version number is taken from the previously most recent release, increased to the next revision. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v1.00.

--av

Add a new release. Its version number is taken from the previous release, increased to the next version. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.03. If it was v0.02_01, it will still be v0.03.

--as

Add a new release. Its version number is taken from the previous release, increased to the next subversion. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.02.01.

--aa

Add a new release. Its version number is taken from the previous release, increased to the next alpha. Its author is also taken from the the previous release.

For example, if the previous release was version v0.02, the new release will be version v0.02_01.

--sv <version>

Set the version of the most recent release. This does not create a new release.

--ac <change>

Add a change to the most recent release.

--at <tag>

Add a tag to the most recent release. Tags are a way to help other programs understand (or at least guess) what has happened in each release. Tags will obviously be more useful if there is a standard tag set, so here are a few proposals:

FEATURE

This release adds one or more new features.

BUGFIX

This release fixes one or more bugs.

SECURITYFIX

This release fixes one or more security vulnerabilities.

APIBREAK

This release breaks backwards compatibility.

--rt <tag>

Remove a tag.

--au <author>

Set the most recent release's author. It is recommended that you use a string like

    --au "Marcel Gruenauer <marcel@cpan.org>"
--td

Touch the date of the most recent release, setting it to the current date and time.

--name <name>

Set the distribution's name.

--fy

Output in YAML format. This is the default.

--ff

Output in "free" format. This makes the Changes file look more or less like most traditional Changes files do.

--help, -h

Show this documentation.

TAGS

If you talk about this module in blogs, on del.icio.us or anywhere else, please use the modulechanges tag.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to bug-module-changes@rt.cpan.org, or through the web interface at http://rt.cpan.org.

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.

AUTHOR

Marcel Grünauer, <marcel@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2007 by Marcel Grünauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.