ruby-changes:59263
From: Yusuke <ko1@a...>
Date: Sun, 15 Dec 2019 22:06:47 +0900 (JST)
Subject: [ruby-changes:59263] 48bab6fe1e (master): tool/gen-mailmap.rb: Added for generating git `.mailmap` file
https://git.ruby-lang.org/ruby.git/commit/?id=48bab6fe1e From 48bab6fe1eb77b481bffbc97fdbf5ba74c45a07a Mon Sep 17 00:00:00 2001 From: Yusuke Endoh <mame@r...> Date: Sun, 15 Dec 2019 21:59:30 +0900 Subject: 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. diff --git a/tool/gen-mailmap.rb b/tool/gen-mailmap.rb new file mode 100755 index 0000000..07dde41 --- /dev/null +++ b/tool/gen-mailmap.rb @@ -0,0 +1,49 @@ https://github.com/ruby/ruby/blob/trunk/tool/gen-mailmap.rb#L1 +#!/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@u... +marcandre: +- github@m... +mrkn: +- mrkn@u... +- muraken@b2dd03c8-39d4-4d8f-98ff-823fe69b080e +naruse: +- nurse@u... +odaira: +- rodaira@u... +tenderlove: +- tenderlove@g... -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/