]> nos-oignons.net Git - gestion-adh.git/blobdiff - bin/pre-commit-hook
Also catch Psych specific exception to identify wrong YAML
[gestion-adh.git] / bin / pre-commit-hook
index 713cb6fa33c1b98a7e615f6aa6e71b4eebec9c18..2bd3c77080d0438100ca804c34e4db631ec636d7 100755 (executable)
@@ -5,40 +5,6 @@ require 'rubygems'
 require 'bundler'
 Bundler.setup
 
 require 'bundler'
 Bundler.setup
 
-require 'safe_yaml'
-SafeYAML::OPTIONS[:default_mode] = :safe
-
-if system('git rev-parse --quiet --verify HEAD >/dev/null')
-  against = 'HEAD'
-else
-  # Initial commit: diff against an empty tree object
-  against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904'
-end
-
-def is_valid_subscription?(content)
-  content.length != 0 &&
-    content.start_with?("---\n") &&
-    YAML.load(content)
-end
-
-def is_valid_subscription_file?(file)
-  IO.popen(['git', 'show', ":#{file}"]) do |f|
-    is_valid_subscription?(f.read)
-  end
-end
-
-modified = []
-IO.popen(['git', 'diff-index', '--cached', '--name-status', against]) do |f|
-  f.readlines.each do |line|
-    status, file = line.strip.split("\t", 2)
-    # Has file been added or modified?
-    if ['A', 'M'].include?(status)
-      modified << file
-      if !is_valid_subscription_file?(file)
-        $stderr.puts "Désolé : #{file} n'a pas le bon format !"
-        exit 1
-      end
-    end
-  end
-end
+require 'nos_oignons'
 
 
+NosOignons.pre_commit_hook!