qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] contrib: add a basic gitdm config


From: Aleksandar Markovic
Subject: Re: [Qemu-devel] [PATCH v3] contrib: add a basic gitdm config
Date: Mon, 7 Jan 2019 09:09:18 +0100

On Friday, December 14, 2018, Alex Bennée <address@hidden> 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 <address@hidden>
> Reviewed-by: Daniel P. Berrangé <address@hidden>
> Reviewed-by: Markus Armbruster <address@hidden>
> Reviewed-by: Aleksandar Markovic <address@hidden>
>
> ---
> 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
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> address@hidden address@hidden
> +
> +# 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" address@hidden
> +"Ian McKellar via Qemu-devel" address@hidden
> +"Julia Suvorova via Qemu-devel" address@hidden
> +"Justin Terry (VM) via Qemu-devel" address@hidden
> 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 <address@hidden>
> +# Authors : Germán Póo-Caamaño <address@hidden>
> +#
> +# 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
> +
> address@hidden
> 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 @@
> address@hidden
> 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
> +#
> +
> address@hidden
> address@hidden
> 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
> +#
> +
> address@hidden
> address@hidden
> address@hidden
> 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.
> +#
> +
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> address@hidden
> 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
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]