-
-
Save sciamp/2a03fc7adff3ad62326a to your computer and use it in GitHub Desktop.
Revisions
-
sciamp revised this gist
Feb 18, 2016 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,7 +3,7 @@ hits = [] checks = { #'_spec\.rb$' => ['focus:[:space:]*true'], '\.(rb|erb)$' => ['binding\.pry', 'debugger'] } # Find the names of all the filenames that have been (A)dded (C)opied or (M)odified -
mileszs created this gist
Jun 25, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ #!/usr/bin/env ruby hits = [] checks = { #'_spec\.rb$' => ['focus:[:space:]*true'], '\.rb$' => ['binding\.pry', 'debugger'] } # Find the names of all the filenames that have been (A)dded (C)opied or (M)odified filenames = `git diff --cached --name-only --diff-filter=ACM`.split("\n") filenames.each do |filename| # Perform special checks for _spec filenames (rspec tests) checks.each do |filename_pattern, patterns| if filename.match filename_pattern patterns.each do |contents_pattern| results = `git diff --cached #{filename} | grep "^\+[^+]" | grep "#{contents_pattern}"`.split("\n").map { |r| r.sub(/^\+[\s\t]*/, '') } if $? == 0 # Add the relevant change with line number to the hits array results.each{ |r| hits.push "#{filename}:" + `grep -n '#{r}' #{filename}`.sub(/:\s+/, ' ').chomp } end end end end end if hits.any? puts "\e[33m>>> Please remove the following problems from these files before committing\e[0m" puts hits.join("\n") end exit 1 if hits.any?