Module-Provision
view release on metacpan or search on metacpan
lib/Module/Provision/TraitFor/VCS.pm view on Meta::CPAN
$self->run_cmd( "git add ${target}", $params );
return;
};
my $_add_to_svn = sub {
my ($self, $target, $type) = @_;
my $params = $self->quiet ? {} : { out => 'stdout' };
$self->run_cmd( "svn add ${target} --parents", $params );
$self->run_cmd( "svn propset svn:keywords 'Id Revision Auth' ${target}",
$params );
$type and $type eq 'program'
and $self->run_cmd( "svn propset svn:executable '*' ${target}", $params );
return;
};
my $_commit_release_to_git = sub {
my ($self, $msg) = @_;
$self->run_cmd( 'git add .' ); $self->run_cmd( "git commit -m '${msg}'" );
return;
};
lib/Module/Provision/TraitFor/VCS.pm view on Meta::CPAN
my $msg = $self->loc( 'Initialised by [_1]', $class );
$self->run_cmd( "svn import ${branch} ${url} -m '${msg}'" );
my $appldir = $self->appldir; $appldir->rmtree;
$self->run_cmd( "svn co ${url}" );
$appldir->filter( sub { $_ !~ m{ \.git }msx and $_ !~ m{ \.svn }msx } );
for my $target ($appldir->deep->all_files) {
$self->run_cmd( "svn propset svn:keywords 'Id Revision Auth' ${target}" );
}
$msg = $self->loc( 'Add RCS keywords to project files' );
$self->run_cmd( "svn commit ${branch} -m '${msg}'" );
$self->chdir( $self->appldir );
$self->run_cmd( 'svn update' );
return;
};
my $_push_to_git_remote = sub {
lib/Module/Provision/TraitFor/VCS.pm view on Meta::CPAN
$self->vcs eq 'git' and $self->$_push_to_git_remote;
return;
};
my $_svn_ignore_meta_files = sub {
my $self = shift; $self->chdir( $self->appldir );
my $ignores = "LICENSE\nMANIFEST\nMETA.json\nMETA.yml\nREADME\nREADME.md";
$self->run_cmd( "svn propset svn:ignore '${ignores}' ." );
$self->run_cmd( 'svn commit -m "Ignoring meta files" .' );
$self->run_cmd( 'svn update' );
return;
};
my $_wrap = sub {
my $self = shift; my $method = shift; return not $self->$method( @_ );
};
my $_add_tag_to_svn = sub {
( run in 0.630 second using v1.01-cache-2.11-cpan-71847e10f99 )