X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/a8f63f70a72d3c11397614f7960fd39685ce8b9a..21bdf50266fe3d3be9e16e5a280adb5b9094699b:/hooks/pre-commit?ds=sidebyside diff --git a/hooks/pre-commit b/hooks/pre-commit index 7c7655e5d..449a8c6f2 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -1,9 +1,9 @@ -#!/usr/bin/ruby +#!/usr/bin/env ruby ok = true if IO.popen(["git", "ls-files", "--unmerged"]).read.empty? - need_stash = !IO.popen(%w(git diff)).read.empty? + need_stash = !IO.popen(%w[git diff]).read.empty? system("git", "stash", "save", "--keep-index", "--quiet") if need_stash @@ -12,14 +12,10 @@ if IO.popen(["git", "ls-files", "--unmerged"]).read.empty? end.compact ruby_files = files.select do |file| - file =~ /\.rb$/ || (file !~ /\.erb$/ && `file --brief --mime-type #{file}` == "text/x-ruby\n") + file =~ /\.rb$/ || (file !~ /\.erb$/ && %x(file --brief --mime-type #{file}) == "text/x-ruby\n") end - ok &&= system("bundle", "exec", "rubocop", *ruby_files) unless ruby_files.empty? - - cookbooks = files.grep(%r{(cookbooks/[^/]+)/}) { Regexp.last_match(1) }.uniq - - ok &&= system("bundle", "exec", "foodcritic", *cookbooks) unless cookbooks.empty? + ok &&= system("bundle", "exec", "cookstyle", *ruby_files) unless ruby_files.empty? system("git", "stash", "pop", "--quiet") if need_stash else