1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
# Once git has a fix for the glibc in handling .mailmap and another fix for
# allowing empty mail address to be mapped in .mailmap we won't have to handle
# them manually.
desc 'Update AUTHORS'
task :authors do
authors = Hash.new(0)
`git shortlog -nse`.scan(/(\d+)\s(.+)\s<(.*)>$/) do |count, name, email|
case name
when "ahoward"
name, email = "Ara T. Howard", "ara.t.howard@gmail.com"
when "Martin Hilbig blueonyx@dev-area.net"
name, email = "Martin Hilbig", "blueonyx@dev-area.net"
when "Michael Fellinger m.fellinger@gmail.com"
name, email = "Michael Fellinger", "m.fellinger@gmail.com"
end
authors[[name, email]] += count.to_i
end
File.open('AUTHORS', 'w+') do |io|
io.puts "Following persons have contributed to #{GEMSPEC.name}."
io.puts '(Sorted by number of submitted patches, then alphabetically)'
io.puts ''
authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
io.puts("%6d %s <%s>" % [count, name, email])
end
end
end
|