(!!) trigger mechanism... read below

new triggers:

  - PRE_GIT and POST_GIT in gitolite-shell
  - PRE_CREATE and POST_CREATE when a new wild repo is created
  - (POST_COMPILE had already existed)
  - ACCESS_CHECK triggers both in gitolite-shell and the update hook

  - trace() learned to print the file name if called from top level and
    a function name is not available

note: trigger was called 'run-all' and only had POST_COMPILE.  The code
existed in gitolite-shell, but is now moved to Rc.pm.
This commit is contained in:
Sitaram Chamarty 2012-03-19 07:31:09 +05:30
parent 80b50f3be8
commit d853c58ada
8 changed files with 46 additions and 34 deletions

View file

@ -79,10 +79,13 @@ sub main {
my $ret = access( $repo, $user, $aa, 'any' );
trace( 1, "access($repo, $user, $aa, 'any')", "-> $ret" );
gl_log( 'gitolite-shell:check', $repo, $user, $aa, 'any', '->', $ret );
trigger('ACCESS_CHECK', $repo, $user, $aa, 'any', $ret);
_die $ret if $ret =~ /DENIED/;
$repo = "'$rc{GL_REPO_BASE}/$repo.git'";
exec( "git", "shell", "-c", "$verb $repo" );
trigger('PRE_GIT', $repo, $user, $aa, 'any', $verb);
_system( "git", "shell", "-c", "$verb $repo" );
trigger('POST_GIT', $repo, $user, $aa, 'any', $verb);
}
# ----------------------------------------------------------------------