On Friday, December 14, 2018, Alex Bennée <alex.ben...@linaro.org> wrote:
> This is a QEMU specific version of a gitdm config for generating > reports on the contributor base of the project. I've added enough > group maps and domain aliases to ensure the current top ten is as > reflective as it can be. As of this commit running: > > git log --numstat --since "Last Year" | gitdm -n -l 10 Alex, can you perhaps send final statistics for 2018, now that New Year passed? Thanks, Aleksandar > > Reports: > > Top changeset contributors by employer > Red Hat 3172 (44.3%) > Linaro 1153 (16.1%) > (None) 549 (7.7%) > IBM 348 (4.9%) > Academics (various) 170 (2.4%) > Virtuozzo 168 (2.3%) > Wave Computing 118 (1.6%) > Xilinx 102 (1.4%) > Igalia 93 (1.3%) > Cadence Design Systems 88 (1.2%) > > Top lines changed by employer > Red Hat 144092 (28.1%) > Cadence Design Systems 126554 (24.6%) > Linaro 77480 (15.1%) > Wave Computing 33134 (6.5%) > SiFive 14392 (2.8%) > IBM 12219 (2.4%) > (None) 11948 (2.3%) > Academics (various) 10447 (2.0%) > Virtuozzo 10445 (2.0%) > CodeWeavers 9179 (1.8%) > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > Reviewed-by: Markus Armbruster <arm...@redhat.com> > Reviewed-by: Aleksandar Markovic <amarko...@wavecomp.com> > > --- > v2 > - use aliases instead of .mailmap > - add more companies to domainmap > - add more groups to cover non-corporate email > - add an individuals group-map for (None) > - limit the stats to top ten > v3 > - updates to wavecomp group > - grouped ispras & others under academics > - tweaked invocation > - added tags > - updated stats while based of master > - slimmed down filetypes, added QEMU specific patterns > --- > contrib/gitdm/aliases | 27 +++++ > contrib/gitdm/domain-map | 19 ++++ > contrib/gitdm/filetypes.txt | 146 ++++++++++++++++++++++++++++ > contrib/gitdm/group-map-cadence | 3 + > contrib/gitdm/group-map-codeweavers | 1 + > contrib/gitdm/group-map-ibm | 6 ++ > contrib/gitdm/group-map-redhat | 7 ++ > contrib/gitdm/group-map-wavecomp | 18 ++++ > gitdm.config | 50 ++++++++++ > 9 files changed, 277 insertions(+) > create mode 100644 contrib/gitdm/aliases > create mode 100644 contrib/gitdm/domain-map > create mode 100644 contrib/gitdm/filetypes.txt > create mode 100644 contrib/gitdm/group-map-cadence > create mode 100644 contrib/gitdm/group-map-codeweavers > create mode 100644 contrib/gitdm/group-map-ibm > create mode 100644 contrib/gitdm/group-map-redhat > create mode 100644 contrib/gitdm/group-map-wavecomp > create mode 100644 gitdm.config > > diff --git a/contrib/gitdm/aliases b/contrib/gitdm/aliases > new file mode 100644 > index 0000000000..07fd3391a5 > --- /dev/null > +++ b/contrib/gitdm/aliases > @@ -0,0 +1,27 @@ > +# > +# This is the email aliases file, mapping secondary addresses > +# onto a single, canonical address. Duplicates some info from .mailmap > +# > + > +# weird commits > +balrog@c046a42c-6fe2-441c-8c8c-71466251a162 balr...@gmail.com > +aliguori@c046a42c-6fe2-441c-8c8c-71466251a162 anth...@codemonkey.ws > +aurel32@c046a42c-6fe2-441c-8c8c-71466251a162 aurel...@aurel32.net > +blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162 blauwir...@gmail.com > +edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162 edgar.igles...@gmail.com > +bellard@c046a42c-6fe2-441c-8c8c-71466251a162 fabr...@bellard.org > +j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162 l_ind...@magic.fr > +pbrook@c046a42c-6fe2-441c-8c8c-71466251a162 p...@codesourcery.com > +ths@c046a42c-6fe2-441c-8c8c-71466251a162 t...@networkno.de > +malc@c046a42c-6fe2-441c-8c8c-71466251a162 av1...@comtv.ru > + > +# There is also a: > +# (no author) <(no author)@c046a42c-6fe2-441c-8c8c-71466251a162> > +# for the cvs2svn initialization commit e63c3dc74bf. > + > +# Next, translate a few commits where mailman rewrote the From: line due > +# to strict SPF, although we prefer to avoid adding more entries like > that. > +"Ed Swierk via Qemu-devel" eswi...@skyportsystems.com > +"Ian McKellar via Qemu-devel" ianl...@google.com > +"Julia Suvorova via Qemu-devel" jus...@mail.ru > +"Justin Terry (VM) via Qemu-devel" jute...@microsoft.com > diff --git a/contrib/gitdm/domain-map b/contrib/gitdm/domain-map > new file mode 100644 > index 0000000000..8cbbcfe93d > --- /dev/null > +++ b/contrib/gitdm/domain-map > @@ -0,0 +1,19 @@ > +# > +# QEMU gitdm domain-map > +# > +# This maps email domains to nice easy to read company names > +# > + > +amd.com AMD > +greensocs.com GreenSocs > +ibm.com IBM > +igalia.com Igalia > +linaro.org Linaro > +oracle.com Oracle > +redhat.com Red Hat > +siemens.com Siemens > +sifive.com SiFive > +suse.de SUSE > +virtuozzo.com Virtuozzo > +wdc.com Western Digital > +xilinx.com Xilinx > diff --git a/contrib/gitdm/filetypes.txt b/contrib/gitdm/filetypes.txt > new file mode 100644 > index 0000000000..15d6f803b9 > --- /dev/null > +++ b/contrib/gitdm/filetypes.txt > @@ -0,0 +1,146 @@ > +# -*- coding:utf-8 -*- > +# Copyright (C) 2006 Libresoft > +# > +# This program is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 2 of the License, or > +# (at your option any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU Library General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, > USA. > +# > +# Authors : Gregorio Robles <g...@gsyc.escet.urjc.es> > +# Authors : Germán Póo-Caamaño <g...@gnome.org> > +# > +# This QEMU version is a cut-down version of what originally shipped > +# in the gitdm sample-config directory. > +# > +# This file contains associations parameters regarding filetypes > +# (documentation, develompent, multimedia, images...) > +# > +# format: > +# filetype <type> <regex> [<comment>] > +# > +# Order: > +# The list should keep an order, so filetypes can be counted properly. > +# ie. we want ltmain.sh -> 'build' instead of 'code'. > +# > +# If there is an filetype which is not in order but has values, it will > +# be added at the end. > +# > +order build,tests,code,documentation,devel-doc,blobs > + > +# > +# > +# Code files (headers and the like included > +# (most common languages first > +# > +filetype code \.c$ # C > +filetype code \.inc.c$ # C > +filetype code \.C$ # C++ > +filetype code \.cpp$ # C++ > +filetype code \.c\+\+$ # C++ > +filetype code \.cxx$ # C++ > +filetype code \.cc$ # C++ > +filetype code \.h$ # C or C++ header > +filetype code \.hh$ # C++ header > +filetype code \.hpp$ # C++ header > +filetype code \.hxx$ # C++ header > +filetype code \.sh$ # Shell > +filetype code \.pl$ # Perl > +filetype code \.py$ # Python > +filetype code \.s$ # Assembly > +filetype code \.S$ # Assembly > +filetype code \.asm$ # Assembly > +filetype code \.awk$ # awk > +filetype code ^common$ # script fragements > +filetype code ^common.*$ # script fragements > +filetype code (qom|qmp)-\w+$ # python script fragments > + > +# > +# Interface/api files > +# > +filetype interface \.json$ # json > +filetype interface \.hx$ # documented options > + > +# > +# Test related blobs (unfortunately we can't filter out test code) > +# > +filetype tests \.hex$ > +filetype tests \d{2,3}$ # test data 00-999 > +filetype tests ^[A-Z]{4}$ # ACPI test data > +filetype tests ^[A-Z]{4}\.*$ # ACPI test data > +filetype tests \.out$ > +filetype tests \.out\.nocache$ > +filetype tests \.err$ > +filetype tests \.exit$ # bad-if-FOO.exit etc > +filetype tests \.decode$ > +filetype tests \.yml$ # travis/shippable config > + > +# > +# Development documentation files (for hacking generally) > +# > +filetype devel-doc ^readme.*$ > +filetype devel-doc ^changelog.* > +filetype devel-doc ^hacking.*$ > +filetype devel-doc ^licen(s|c)e.*$ > +filetype devel-doc ^copying.*$ > +filetype devel-doc ^MAINTAINERS$ > +filetype devel-doc ^BSD-2-Clause$ > +filetype devel-doc ^BSD-3-Clause$ > +filetype devel-doc ^GPL-2.0$ > +filetype devel-doc \.txt$ > +filetype devel-doc \.rst$ > +filetype devel-doc \.texi$ > +filetype devel-doc \.pod$ > + > +# > +# Building, compiling, and configuration admin files > +# > +filetype build configure.*$ > +filetype build Makefile$ > +filetype build Makefile\.*$ > +filetype build config$ > +filetype build conf$ > +filetype build \.cfg$ > +filetype build \.mk$ > +filetype build \.mak$ > +filetype build \.docker$ > +filetype build \.pre$ > +filetype build ^.gitignore$ > +filetype build ^.gitmodules$ > +filetype build ^.gitpublish$ > +filetype build ^.mailmap$ > +filetype build ^.dir-locals.el$ > +filetype build ^.editorconfig$ > +filetype build ^.exrc$ > +filetype build ^.gdbinit$ > +filetype build \.cocci$ # Coccinelle semantic patches > + > +# > +# Misc blobs > +# > +filetype blobs \.bin$ > +filetype blobs \.dtb$ > +filetype blobs \.dts$ > +filetype blobs \.rom$ > +filetype blobs \.img$ > +filetype blobs \.ndrv$ > +filetype blobs \.bmp$ > +filetype blobs \.svg$ > +filetype blobs ^pi_10.com$ > + > + > +# > +# Documentation files > +# > +filetype documentation \.html$ > +filetype documentation \.txt$ > +filetype documentation \.texi$ > +filetype documentation \.po$ # translation files > diff --git a/contrib/gitdm/group-map-cadence b/contrib/gitdm/group-map- > cadence > new file mode 100644 > index 0000000000..ab97dd2fc3 > --- /dev/null > +++ b/contrib/gitdm/group-map-cadence > @@ -0,0 +1,3 @@ > +# Cadence Design Systems > + > +jcmvb...@gmail.com > diff --git a/contrib/gitdm/group-map-codeweavers > b/contrib/gitdm/group-map-codeweavers > new file mode 100644 > index 0000000000..c4803489e2 > --- /dev/null > +++ b/contrib/gitdm/group-map-codeweavers > @@ -0,0 +1 @@ > +sergio.g.delr...@gmail.com > diff --git a/contrib/gitdm/group-map-ibm b/contrib/gitdm/group-map-ibm > new file mode 100644 > index 0000000000..b66db5f4a8 > --- /dev/null > +++ b/contrib/gitdm/group-map-ibm > @@ -0,0 +1,6 @@ > +# > +# Some IBM contributors submit via another domain > +# > + > +c...@kaod.org > +gr...@kaod.org > diff --git a/contrib/gitdm/group-map-redhat b/contrib/gitdm/group-map- > redhat > new file mode 100644 > index 0000000000..6d05c6b54f > --- /dev/null > +++ b/contrib/gitdm/group-map-redhat > @@ -0,0 +1,7 @@ > +# > +# Red Hat contributors using non-corporate email > +# > + > +da...@gibson.dropbear.id.au > +laur...@vivier.eu > +p...@fedoraproject.org > diff --git a/contrib/gitdm/group-map-wavecomp b/contrib/gitdm/group-map- > wavecomp > new file mode 100644 > index 0000000000..c571a52c65 > --- /dev/null > +++ b/contrib/gitdm/group-map-wavecomp > @@ -0,0 +1,18 @@ > +# > +# Wave Computing acquired MIPS in June 2018. Also, from February 2013 > +# to October 2017, MIPS was owned by Imagination Technologies. > +# > + > +aleksandar.marko...@imgtec.com > +aleksandar.marko...@mips.com > +amarko...@wavecomp.com > +arik...@wavecomp.com > +dniko...@wavecomp.com > +james.ho...@mips.com > +matthew.fort...@mips.com > +paul.bur...@imgtec.com > +pbur...@wavecomp.com > +smarko...@wavecomp.com > +yongbok....@imgtec.com > +yongbok....@mips.com > +y...@wavecomp.com > diff --git a/gitdm.config b/gitdm.config > new file mode 100644 > index 0000000000..7472d4b8be > --- /dev/null > +++ b/gitdm.config > @@ -0,0 +1,50 @@ > +# > +# This is the gitdm configuration file for QEMU. > +# > +# It is to be used with LWN's git dataminer tool for generating > +# reports about development activity in the QEMU repo. The LWN gitdm > +# tool can be found at: > +# > +# git://git.lwn.net/gitdm.git > +# > +# A run to generate a report for the last year of activity would be > +# > +# git log --numstat --since "Last Year" | gitdm -n -l 10 > +# > + > +# EmailAliases lets us cope with developers who use more > +# than one address or have changed addresses. This duplicates some of > +# the information in the existing .mailmap but in a slightly different > +# form. > +# > +EmailAliases contrib/gitdm/aliases > + > +# > +# EmailMap does the main work of mapping addresses onto > +# employers. > +# > +EmailMap contrib/gitdm/domain-map > + > +# > +# Use GroupMap to map a file full of addresses to the > +# same employer. This is used for people that don't post from easily > +# identifiable corporate emails. > +# > + > +GroupMap contrib/gitdm/group-map-redhat Red Hat > +GroupMap contrib/gitdm/group-map-wavecomp Wave Computing > +GroupMap contrib/gitdm/group-map-cadence Cadence Design Systems > +GroupMap contrib/gitdm/group-map-codeweavers CodeWeavers > +GroupMap contrib/gitdm/group-map-ibm IBM > + > +# Also group together our prolific individual contributors > +# and those working under academic auspices > +GroupMap contrib/gitdm/group-map-individuals (None) > +GroupMap contrib/gitdm/group-map-academics Academics (various) > + > +# > +# > +# Use FileTypeMap to map a file types to file names using regular > +# regular expressions. > +# > +FileTypeMap contrib/gitdm/filetypes.txt > -- > 2.17.1 > > >