Commit 2fa5c751 authored by Douwe Maan's avatar Douwe Maan

Group project contributions by both name and email.

parent 84cb0dcb
...@@ -7,6 +7,7 @@ v 7.12.0 (unreleased) ...@@ -7,6 +7,7 @@ v 7.12.0 (unreleased)
- Update Asciidoctor gem to version 1.5.2. (Jakub Jirutka) - Update Asciidoctor gem to version 1.5.2. (Jakub Jirutka)
- Fix resolving of relative links to repository files in AsciiDoc documents. (Jakub Jirutka) - Fix resolving of relative links to repository files in AsciiDoc documents. (Jakub Jirutka)
- Use the user list from the target project in a merge request (Stan Hu) - Use the user list from the target project in a merge request (Stan Hu)
- Group project contributions by both name and email.
v 7.11.2 v 7.11.2
- no changes - no changes
......
...@@ -2,11 +2,15 @@ window.ContributorsStatGraphUtil = ...@@ -2,11 +2,15 @@ window.ContributorsStatGraphUtil =
parse_log: (log) -> parse_log: (log) ->
total = {} total = {}
by_author = {} by_author = {}
by_email = {}
for entry in log for entry in log
@add_date(entry.date, total) unless total[entry.date]? @add_date(entry.date, total) unless total[entry.date]?
@add_author(entry, by_author) unless by_author[entry.author_name]?
@add_date(entry.date, by_author[entry.author_name]) unless by_author[entry.author_name][entry.date] data = by_author[entry.author_name] #|| by_email[entry.author_email]
@store_data(entry, total[entry.date], by_author[entry.author_name][entry.date]) data ?= @add_author(entry, by_author, by_email)
@add_date(entry.date, data) unless data[entry.date]
@store_data(entry, total[entry.date], data[entry.date])
total = _.toArray(total) total = _.toArray(total)
by_author = _.toArray(by_author) by_author = _.toArray(by_author)
total: total, by_author: by_author total: total, by_author: by_author
...@@ -15,10 +19,12 @@ window.ContributorsStatGraphUtil = ...@@ -15,10 +19,12 @@ window.ContributorsStatGraphUtil =
collection[date] = {} collection[date] = {}
collection[date].date = date collection[date].date = date
add_author: (author, by_author) -> add_author: (author, by_author, by_email) ->
by_author[author.author_name] = {} data = {}
by_author[author.author_name].author_name = author.author_name data.author_name = author.author_name
by_author[author.author_name].author_email = author.author_email data.author_email = author.author_email
by_author[author.author_name] = data
by_email[author.author_email] = data
store_data: (entry, total, by_author) -> store_data: (entry, total, by_author) ->
@store_commits(total, by_author) @store_commits(total, by_author)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment