diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2019-12-15 21:59:30 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2019-12-15 22:06:13 +0900 |
commit | 48bab6fe1eb77b481bffbc97fdbf5ba74c45a07a (patch) | |
tree | 33d12332512399bd104b702b5ba6cd5f64b37e46 /tool | |
parent | a83c46e3fd1e3480404c6dda4c4cda73533a6a1d (diff) | |
download | ruby-48bab6fe1eb77b481bffbc97fdbf5ba74c45a07a.tar.gz |
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.
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/gen-mailmap.rb | 49 |
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 |