App-Git-IssueManager/lib/App/Git/IssueManager/Init.pm

44 lines
973 B
Perl

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;