bin/git-blame-game
#!/usr/bin/env ruby
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
require 'git-blame-game'
aliases = %w(blame praise annotate ann)
options = {}
OptionParser.new do |opts|
opts.banner = <<-END.gsub(/^[ \t]+/m, '')
Usage: git-blame-game [options] path/to/filename
END
opts.separator ""
opts.separator "Options:"
opts.on("-s", "--sha", "--SHA [SHA]", String, "Set initial SHA (defaults to HEAD)") do |sha|
options[:sha] = sha
end
opts.on_tail("-h", "--help", "Show this message") do
puts opts
puts "\nAliases: " + aliases.map{|a| ["git-#{a}-game", "git #{a}-game"]}.flatten.join(", ")
exit
end
end.parse!
path_to_file = ARGV[0]
raise OptionParser::MissingArgument.new("You must specify a path to a file ") if not path_to_file
GitBlameGame.new(path_to_file, options).run