Git-MoreHooks
view release on metacpan or search on metacpan
lib/Git/MoreHooks/CheckCommitBase.pm view on Meta::CPAN
package Git::MoreHooks::CheckCommitBase;
use strict;
use warnings;
use utf8;
# ABSTRACT: CheckCommit base file
our $VERSION = '0.018'; # VERSION: generated by DZP::OurPkgVersion
use Git::Hooks 3.000000;
use Path::Tiny;
use Log::Any qw{$log};
use Params::Validate qw(:all);
our $USER_HOOK;
sub import {
my ( $package, $user_hook ) = @_;
$package .= q{};
$USER_HOOK = $user_hook;
return;
}
sub _call_user_hook {
return &{$USER_HOOK}(@_);
}
sub pre_commit_callback {
my ($git) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => undef, 'gerrit-opts' => undef );
return _call_user_hook( $git, 'pre-commit', \%opts );
}
# This routine can act both as an update or a pre-receive hook.
sub update_callback {
$log->tracef( 'Entering update_callback(%s)', ( join q{:}, @_ ) );
my ($git) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => 0, 'gerrit-opts' => undef );
return _call_user_hook( $git, 'update', \%opts );
}
sub pre_receive_callback {
$log->tracef( 'Entering pre_receive_callback(%s)', ( join q{:}, @_ ) );
my ($git) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => 0, 'gerrit-opts' => undef );
return _call_user_hook( $git, 'pre-receive', \%opts );
}
sub ref_update_callback {
my ($git) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => 0, 'gerrit-opts' => undef );
return _call_user_hook( $git, 'ref-update', \%opts );
}
sub patchset_created_callback {
my ( $git, $opts ) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => 0, 'gerrit-opts' => $opts );
return _call_user_hook( $git, 'patchset-created', \%opts );
}
sub draft_published_callback {
my ( $git, $opts ) = @_;
my %opts = ( 'old_commit' => ':0', 'new_commit' => 0, 'gerrit-opts' => $opts );
return _call_user_hook( $git, 'draft-published', \%opts );
}
# Install hooks
PRE_COMMIT \&pre_commit_callback;
UPDATE \&update_callback;
PRE_RECEIVE \&pre_receive_callback;
REF_UPDATE \&ref_update_callback;
PATCHSET_CREATED \&patchset_created_callback;
DRAFT_PUBLISHED \&draft_published_callback;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Git::MoreHooks::CheckCommitBase - CheckCommit base file
=head1 VERSION
version 0.018
=head1 SYNOPSIS
Use package via
L<Git::Hooks|Git::Hooks>
interface (git config file).
( run in 1.193 second using v1.01-cache-2.11-cpan-9581c071862 )