#!/usr/bin/ruby
command = '/usr/bin/git --no-pager log --oneline'
ARGV.each do|a|
if a.match(/^--after/)
command += ' ' + a
end
end
hours = 0
begin
output = `#{command}`
commits = output.split("n")
commits.each do |line|
line.scan(/t[(.*)]/) do |r|
r.each { |h| hours += h.to_f }
end
end
print "Total: #{hours}hrsn"
rescue => e
puts e.message
exit
end
Um script para rastreamento de tempo usando git commits.
- Salve o script como um executável (chamei de git-tt)
- Adicione tags às suas mensagens de commit com a quantidade de horas que você gastou, por exemplo. “Funcionalidade foobar implementada t [1.5].”
- Execute git tt de um repo git para mostrar o total de horas para esse repo.
- Adicione ‘–after = “2010-03-15″‘ para mostrar o total de confirmações desde a data