Archived
1
0
Fork 0

Fix repository address

This commit is contained in:
Mercier Pierre-Olivier 2013-11-03 00:06:58 +01:00
commit df27747cbc

View file

@ -16,14 +16,22 @@ use ACU::Log;
$ACU::Log::log_file = "/var/log/hooks/" . basename($0) . ".log"; $ACU::Log::log_file = "/var/log/hooks/" . basename($0) . ".log";
use ACU::Process; use ACU::Process;
# First, check if the repository is in the YYYY/ directory
exit 0 if ($ENV{GL_REPO} !~ /^2[0-9]{3}\/.+\/.+/);
my ($ref, $oldsha, $newsha) = @ARGV; my ($ref, $oldsha, $newsha) = @ARGV;
my $promo = $1 if ($ENV{'GL_REPO'} =~ m/([0-9]{4}).*/); my $promo;
my $id_project = $1 if ($ENV{'GL_REPO'} =~ m/.*\/(.*)\//); my $id_project;
my $repo_login = $1 if ($ENV{'GL_REPO'} =~ m/.*\/.*\/(.*)/); my $repo_login;
# First, extract information, from config then guess from repository adress
if (my $tmp = `git config hooks.promo`) { chomp $tmp; $promo = $tmp; }
if (my $tmp = `git config hooks.idproject`) { chomp $tmp; $id_project = $tmp; }
if (my $tmp = `git config hooks.login`) { chomp $tmp; $repo_login = $tmp; }
$promo = $1 if (!$promo && $ENV{'GL_REPO'} =~ m/([0-9]{4}).*/);
$id_project = $1 if (!$id_project && $ENV{'GL_REPO'} =~ m/.*\/(.*)\//);
$repo_login = $1 if (!$repo_login && $ENV{'GL_REPO'} =~ m/.*\/.*\/(.*)/);
exit(0) if (!$promo || !$id_project || !$repo_login);
if ($ref =~ m<^refs/tags/(.+)$>) if ($ref =~ m<^refs/tags/(.+)$>)
{ {
@ -103,7 +111,7 @@ if ($ref =~ m<^refs/tags/(.+)$>)
"id" => $id_project, "id" => $id_project,
"rendu" => $tag, "rendu" => $tag,
"login" => $repo_login, "login" => $repo_login,
"path" => $ENV{GL_REPO_BASE_ABS}."/".$ENV{GL_REPO}, "path" => $ENV{GL_REPO_BASE_ABS}."/".$ENV{GL_REPO}.".git",
}); });
}; };
if ($@) { if ($@) {