Skip to content

Instantly share code, notes, and snippets.

@mikem
Created March 9, 2011 12:18
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mikem/862102 to your computer and use it in GitHub Desktop.
Save mikem/862102 to your computer and use it in GitHub Desktop.
git pre-commit hook for Jammit
#!/usr/bin/env ruby
require 'jammit'
print "Jammit check... "
status_before = %x[git status --porcelain --untracked-files=no]
Jammit.package!
status_after = %x[git status --porcelain --untracked-files=no]
jammit_files = (status_after.split("\n") - status_before.split("\n")).map { |f| f.split[1] }
unless jammit_files.empty?
puts "FAIL"
puts "Looks like you forgot to run jammit"
puts "Run `git add #{jammit_files.join(' ')}` and try committing again"
exit 1
end
puts "PASS"
@monicao
Copy link

monicao commented Aug 4, 2011

Thanks a lot for this!

In my case I had to require 'rubygems' before requiring jammit.

Also for those who (like me) didn't know where to put this code.. It's a git pre commit hoook and goes in $YOUR_PROJECT_ROOT/.git/hooks/pre-commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment