From 85008adfdf103f3b4c96e7cd2f02f7c9100b4152 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Sun, 15 Sep 2013 12:42:05 +0200 Subject: [PATCH] Remove full tag when requested --- hooks/subjects.pl | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/hooks/subjects.pl b/hooks/subjects.pl index 0d36a26..c9c2bab 100755 --- a/hooks/subjects.pl +++ b/hooks/subjects.pl @@ -122,6 +122,14 @@ sub tag_project $year = LDAP::get_year; } + # Determine full tag + my $long_tag; + if (!$_[3]) + { + my $proj_id = $_[2] // ""; + $long_tag = "project,$proj_id,$year"; + } + if ($creation) { my $newref = $ARGV[2]; @@ -189,21 +197,31 @@ sub tag_project log DONE, "Projet créé/mis à jour avec succès."; - # Add full tag - if (!$_[3]) + if ($long_tag) { - my $proj_id = $_[2] // ""; - my $year = $_[3] // LDAP::get_year(); - my $tag = "project,$proj_id,$year"; - qx(git tag -f $tag); + qx(git tag -f $long_tag); if (! $?) { - log INFO, "Tag long créé : $tag."; + log INFO, "Tag long créé : $long_tag."; } } } else { + # Is the long tag existing + qx(git tag | egrep "^$long_tag$"); + if ($?) { + log ERROR, "Tag long correspondant introuvable : $long_tag."; + } + log USAGE, "Suppression du projet !"; + + if ($long_tag) + { + qx(git tag -d $long_tag); + if (! $?) { + log INFO, "Tag long supprimé : $long_tag."; + } + } } }