package App::Git::IssueManager::Init; #ABSTRACT: class implementing the init command of the GIT IssueManager use strict; use warnings; use MooseX::App::Command; extends qw(App::Git::IssueManager); use Git::LowLevel; use Git::IssueManager; use Git::IssueManager::Issue; use Term::ANSIColor; use Try::Tiny; command_short_description 'initialize IssueManager in the current git repository'; command_usage 'git issue init -t TST'; option 'tag' => ( is => 'ro', isa => 'Str', required => 1, documentation => q[the tag to prepend in front of issue ids (eg. TST-ab5436fe, TST is the tag)], cmd_aliases => [qw(t)] ); sub run { my $self = shift; my $manager = Git::IssueManager->new(repository=>Git::LowLevel->new(git_dir=> ".")); if (!$manager->ready) { $manager->init($self->tag); } else { die("IssueManager already initialized"); } } 1;