Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
## Enforce that changed lines can only be documentation #!/bin/sh # # This git pre-commit hook makes sure you haven't changed any Ruby code # while contributing to documentation. # # Author: Mislav # # To enable this hook, make this file executable. if git-rev-parse --verify HEAD 2>/dev/null then git-diff-index -p -M --cached HEAD else # NEEDSWORK: we should produce a diff with an empty tree here # if we want to do the same verification for the initial import. : fi | ruby -e ' file = nil lineno = nil errors = [] while gets case $_ when /^\+{3} (.+)/ file = $1.sub(/^b\//, "") # puts file next when /^-{3} / next when /^@@ -\d+,\d+ \+(\d+),(\d+) @@/ lineno = $1.to_i next when /^([+-])(.+)/ op = $1 == "+" ? "added" : "removed" line = $2 if line !~ /^\s*#/ errors << "#{file}:#{lineno}: #{op} #{line.inspect}" end end lineno += 1 if lineno end unless errors.empty? $stderr.puts "Changed Ruby code detected!" $stderr.puts errors.join $stderr.puts "COMMIT FAILED." exit 1 else exit 0 end '
This paste will be private.
From the Design Piracy series on my blog: