#!/usr/bin/env perl

# PODNAME: git-tag-version
# ABSTRACT: git command to manage version tags


package main;

use strict;
use warnings;

our $VERSION = '1.01'; # VERSION

use Git::TagVersion::Cmd;

Git::TagVersion::Cmd->run;

__END__

=pod

=encoding UTF-8

=head1 NAME

git-tag-version - git command to manage version tags

=head1 VERSION

version 1.01

=head1 SYNOPSIS

  git-tag-version <command> [options...]

It supports the following subcommands:

   commands: list the application's commands
       help: display a command's help screen

  changelog: generate a changelog
       last: print last version
       list: print all versions
       next: print next version
        tag: create a new version tag

=head1 DESCRIPTION

git-tag-version is a git sub command to manage version tags.

 * list all available versions (sorted by version)
 * show last version
 * show next version
 * create a tag for next version
 * create a changelog in different styles

=head1 INSTALLATION

To install from CPAN:

  cpanm Git::TagVersion

=head1 EXAMPLES

The git repository has at least one base version:

  $ git tag
  v3.8.0
  v3.8.1

Display available versions:

  $ git tag-version list
  3.8.1
  3.8.0

Display the last version tagged:

  $ git tag-version last
  3.8.1

Display the next version:

  $ git tag-version next
  3.8.2

Tag the next version and push it:

  $ git tag-version tag -p
  tagged v3.8.2

=head1 COMMANDS

All commands accept the following options:

  -f --fetch           fetch remote refs first
  -r --repo            path to git repository
  -h -? --usage --help  Prints this usage information.

=head2 changelog

Generate a changelog from git logs.

A style for the changelog could be set with:

  -s --style           format of changelog

Supported styles are: simple(default), rpm, markdown

=head2 last

Show the last tagged version.

=head2 list

List all tagged versions.

=head2 next

Show next version.

=head2 tag

Tag next version.

Options:

  -p --push            push new created tag to remote
  -m --major           do a (more) major release
  --minor              add a new minor version level

=head1 AUTHOR

Markus Benning <ich@markusbenning.de>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Markus Benning <ich@markusbenning.de>.

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

=cut
