summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rwxr-xr-xtool/gen-mailmap.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/tool/gen-mailmap.rb b/tool/gen-mailmap.rb
new file mode 100755
index 0000000000..07dde412de
--- /dev/null
+++ b/tool/gen-mailmap.rb
@@ -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