]> git.openstreetmap.org Git - chef.git/blobdiff - hooks/pre-commit
Install hpricot gem for API munin plugins
[chef.git] / hooks / pre-commit
index de3142ea000a0a567f6311797c982d4f6ec309fa..57c23a35a1026fa3c805278c392fd36b2e3aff62 100755 (executable)
@@ -3,11 +3,13 @@
 ok = true
 
 if IO.popen(["git", "ls-files", "--unmerged"]).read.empty?
-  need_stash = IO.popen(%w(git diff)).read.length > 0
+  need_stash = !IO.popen(%w(git diff)).read.empty?
 
   system("git", "stash", "save", "--keep-index", "--quiet") if need_stash
 
-  files = IO.popen(["git", "diff", "--staged", "--name-only"]).readlines.map(&:chomp)
+  files = IO.popen(["git", "diff", "--staged", "--name-status"]).map do |line|
+    Regexp.last_match(1) if line =~ /^[AM]\s+(.*)$/
+  end.compact
 
   ruby_files = files.select do |file|
     file =~ /\.rb$/ || `file --brief --mime-type #{file}` == "text/x-ruby\n"