From: Lunar Date: Fri, 31 May 2013 21:07:16 +0000 (+0200) Subject: Last step in pre-commit hook implementation X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/fcfec54ac07c989195fa9036cee2d5c48eec8337?hp=0e5077e4be07a74d4fb186ba612d92742663fe61 Last step in pre-commit hook implementation --- diff --git a/bin/pre-commit-hook b/bin/pre-commit-hook index fcfb3e9..317e5c5 100755 --- a/bin/pre-commit-hook +++ b/bin/pre-commit-hook @@ -8,6 +8,8 @@ Bundler.setup require 'safe_yaml' SafeYAML::OPTIONS[:default_mode] = :safe +SUBSCRIPTIONS_ROOT = 'Membres' + if system('git rev-parse --quiet --verify HEAD >/dev/null') against = 'HEAD' else @@ -43,6 +45,7 @@ IO.popen(['git', 'diff-index', '--cached', '--name-status', against]) do |f| # Has file been added or modified? if ['A', 'M'].include?(status) modified << file + next unless file.start_with?("#{SUBSCRIPTIONS_ROOT}/") if !is_valid_subscription_file?(file) $stderr.puts "Désolé : #{file} n'a pas le bon format !" exit 1 diff --git a/features/pre-commit-hook.feature b/features/pre-commit-hook.feature index e6066d2..7ac6901 100644 --- a/features/pre-commit-hook.feature +++ b/features/pre-commit-hook.feature @@ -15,6 +15,11 @@ Fonctionnalité: pre-commit hook Git Et que je fais un `commit` du nouveau fichier Alors je ne dois pas avoir eu d'erreur + Scénario: Autres fichiers + Lorsque j'ajoute un fichier hors de la base des adhérents + Et que je fais un `commit` du nouveau fichier + Alors je ne dois pas avoir eu d'erreur + Scénario: Commit d'un fichier vide Lorsque j'ajoute une fiche vide Et que je fais un `commit` du nouveau fichier diff --git a/features/step_definitions/subscriptions.rb b/features/step_definitions/subscriptions.rb index f5dab63..7b70bd0 100644 --- a/features/step_definitions/subscriptions.rb +++ b/features/step_definitions/subscriptions.rb @@ -54,3 +54,8 @@ When /^je supprime le nom sur une fiche existante$/ do @file = subscription_filename_for_id(1) run_simple "sed -e '/^name:/d' -i #{@file}" end + +When /^j'ajoute un fichier hors de la base des adhérents$/ do + @file = 'test' + write_file @file, 'Test content.' +end