NAME

perl-reversion - Manipulate project version numbers

SYNOPSIS

perl-reversion [options] [file ...]

 Options:

    -help               see this summary
    -man                view man page for perl-reversion
    -bump               make the smallest possible increment

    -bump-revision      increment the specified version component
    -bump-version
    -bump-subversion
    -bump-alpha

    -set <version>      set the project version number
    -current <version>  specify the current version

    -dskip              specify a directory not to searched
                        you can specify this multiple times

    -normal             print current version in a specific format OR
    -numify             force versions to be a specific format,
    -stringify          with -set or -bump

    -dryrun             just go through the motions, but don't
                        actually save files

DESCRIPTION

A typical distribution of a Perl module has embedded version numbers is a number of places. Typically the version will be mentioned in the README file and in each module's source. For a module the version may appear twice: once in the code and once in the pod.

This script makes it possible to update all of these version numbers with a simple command.

To update the version numbers of specific files name them on the command line. Any directories will be recursively expanded.

If used with no filename arguments perl-reversion will attempt to update README and any files below lib/ in the current project.

OPTIONS

-bump

Attempt to make the smallest possible increment to the version. The least significant part of the version string is incremented.

    1       =>  2
    1.1     =>  1.2
    1.1.1   =>  1.1.2
    1.1.1_1 =>  1.1.1_2
-bump-revision
-bump-version
-bump-subversion
-bump-alpha

Increment the specified version component. Like the inc_* methods of Perl::Version, incrementing a component sets all components to the right of it to zero.

-set <version>

Set the version to the specified value. Unless the -normal option is also specified the format of each individual version string will be preserved.

-current <version>

Specify the current version. Only matching version strings will be updated.

-dskip <dir>

Specify the directory dir not to search. This option can be selected multiple times.

-normal
-numify
-stringify

Use a specific formatting, as in "Formatting" in Perl::Version.

Alone, these options control how the current (found) version is displayed.

With -bump or -set, also update version strings to have the given formatting, regardless of the version format passed to -set or the current version (for -bump).

If none of these options are specified, perl-reversion will preserve the formatting of each individual version string (the same as -stringify).

-dryrun

If set, perl-reversion will not save files. Use this to see what gets changed before it actually happens.

AUTHOR

Andy Armstrong <andy@hexten.net>

LICENCE AND COPYRIGHT

Copyright (c) 2007, Andy Armstrong <andy@hexten.net>. All rights reserved.

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

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.