mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
tool/gen-mailmap.rb: Added for generating git .mailmap
file
`.mailmap` can be used To show canonical names and email addresses. It is helpful for statistics of committers.
This commit is contained in:
parent
a83c46e3fd
commit
48bab6fe1e
1 changed files with 49 additions and 0 deletions
49
tool/gen-mailmap.rb
Executable file
49
tool/gen-mailmap.rb
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require "open-uri"
|
||||
require "yaml"
|
||||
|
||||
EMAIL_YML_URL = "https://raw.githubusercontent.com/ruby/ruby-commit-hook/master/config/email.yml"
|
||||
|
||||
email_yml = URI.open(EMAIL_YML_URL).read.sub(/\A(?:#.*\n)+/, "").gsub(/^# +(.+)$/) { $1 + ": []" }
|
||||
|
||||
email = YAML.load(email_yml)
|
||||
YAML.load(DATA.read).each do |name, mails|
|
||||
email[name] ||= []
|
||||
email[name] |= mails
|
||||
end
|
||||
|
||||
open(File.join(__dir__, "../.mailmap"), "w") do |f|
|
||||
email.each do |name, mails|
|
||||
canonical = "#{ name }@ruby-lang.org"
|
||||
mails.delete(canonical)
|
||||
svn = "#{ name }@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"
|
||||
((mails | [canonical]) + [svn]).each do |mail|
|
||||
f.puts "#{ name } <#{ canonical }> <#{ mail }>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
puts "You'll see canonical names (SVN account names) by the following commands:"
|
||||
puts
|
||||
puts " git shortlog -ce"
|
||||
puts " git log --pretty=format:'%cN <%cE>'"
|
||||
puts " git log --use-mailmap --pretty=full"
|
||||
|
||||
__END__
|
||||
git:
|
||||
- svn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
- "(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"
|
||||
kazu:
|
||||
- znz@users.noreply.github.com
|
||||
marcandre:
|
||||
- github@marc-andre.ca
|
||||
mrkn:
|
||||
- mrkn@users.noreply.github.com
|
||||
- muraken@b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
naruse:
|
||||
- nurse@users.noreply.github.com
|
||||
odaira:
|
||||
- rodaira@us.ibm.com
|
||||
tenderlove:
|
||||
- tenderlove@github.com
|
Loading…
Add table
Reference in a new issue