From 124d93ed3ea826cd16e4766f82b3c48af19cba5c Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Fri, 13 Sep 2013 15:54:52 +0200 Subject: extras: add script and config for generating "Who wrote GlusterFS" This script and configuration can be used to generate statistics similar to the "Who wrote " series available on http://lwn.net. Example usage for statistics from the initial branchpoint of 3.4 to the current development of the release-3.4 branch: $ extras/who-wrote-glusterfs/who-wrote-glusterfs.sh \ v3.4.0alpha...origin/release-3.4 By default the statistics will be calculated over the currently checked out branch. Change-Id: Ie7b8b655c50dcb14257e42599e2f89642c8b5b42 Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/5912 Reviewed-by: Amar Tumballi Tested-by: Amar Tumballi Reviewed-by: Harshavardhana Reviewed-by: Anand Avati --- .gitignore | 3 +- .mailmap | 31 ++++++++++++++ extras/who-wrote-glusterfs/gitdm.aliases | 48 ++++++++++++++++++++++ extras/who-wrote-glusterfs/gitdm.config | 8 ++++ extras/who-wrote-glusterfs/gitdm.domain-map | 15 +++++++ extras/who-wrote-glusterfs/who-wrote-glusterfs.sh | 50 +++++++++++++++++++++++ 6 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 .mailmap create mode 100644 extras/who-wrote-glusterfs/gitdm.aliases create mode 100644 extras/who-wrote-glusterfs/gitdm.config create mode 100644 extras/who-wrote-glusterfs/gitdm.domain-map create mode 100755 extras/who-wrote-glusterfs/who-wrote-glusterfs.sh diff --git a/.gitignore b/.gitignore index 0e31d20dc19..9d7614945a5 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ stamp-h1 ufo/.tox ufo/test/unit/.coverage contrib/uuid/uuid_types.h +extras/who-wrote-glusterfs/gitdm extras/init.d/glusterd.plist extras/init.d/glusterd-Debian extras/init.d/glusterd-Redhat @@ -42,4 +43,4 @@ libglusterfs/src/spec.lex.c libglusterfs/src/y.tab.c libglusterfs/src/y.tab.h libgfchangelog.pc -run-tests.sh \ No newline at end of file +run-tests.sh diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000000..6bcd95dea0f --- /dev/null +++ b/.mailmap @@ -0,0 +1,31 @@ +# .mailmap, see 'git short-log --help' for details +# +# Listing of contributors that filed patches with different email addresses. +# Format: [ ...] +# + +Amar Tumballi +Anand Avati +Anush Shetty +Csaba Henk +Harshavardhana +Kaleb S. KEITHLEY +Kaushal M +Kaushik BV +Krishna Srinivas +Krishnan Parthasarathi +Louis Zuckerman +M S Vishwanath Bhat +Pavan Sondur +Pete Zaitcev +Pranith Kumar K +Raghavendra Bhat +Raghavendra G +Rahul C S +Rajesh Amaravathi +Shehjar Tikoo +Venky Shankar +Vijay Bellur +Vijaykumar Koppad +Vikas Gorur +shishir gowda diff --git a/extras/who-wrote-glusterfs/gitdm.aliases b/extras/who-wrote-glusterfs/gitdm.aliases new file mode 100644 index 00000000000..784a3e3bc98 --- /dev/null +++ b/extras/who-wrote-glusterfs/gitdm.aliases @@ -0,0 +1,48 @@ +# +# This is the email aliases file, mapping secondary addresses onto a single, +# canonical address. This file should probably match the contents of .mailmap +# in the root of the git repository. +# +# Format: + +amar@gluster.com amarts@redhat.com +amar@del.gluster.com amarts@redhat.com +avati@amp.gluster.com avati@redhat.com +avati@blackhole.gluster.com avati@redhat.com +avati@dev.gluster.com avati@redhat.com +avati@gluster.com avati@redhat.com +wheelear@gmail.com awheeler@redhat.com +anush@gluster.com ashetty@redhat.com +csaba@gluster.com csaba@redhat.com +csaba@lowlife.hu csaba@redhat.com +csaba@zresearch.com csaba@redhat.com +harsha@gluster.com fharshav@redhat.com +harsha@zresearch.com fharshav@redhat.com +harsha@dev.gluster.com fharshav@redhat.com +harsha@harshavardhana.net fharshav@redhat.com +kkeithle@f16node1.kkeithle.usersys.redhat.com kkeithle@redhat.com +kaushal@gluster.com kaushal@redhat.com +kaushikbv@gluster.com kbudiger@redhat.com +krishna@gluster.com ksriniva@redhat.com +krishna@zresearch.com ksriniva@redhat.com +krishna@guest-laptop ksriniva@redhat.com +kp@gluster.com kparthas@redhat.com +me@louiszuckerman.com louiszuckerman@gmail.com +msvbhat@gmail.com vbhat@redhat.com +vishwanath@gluster.com vbhat@redhat.com +pavan@dev.gluster.com pavan@gluster.com +zaitcev@yahoo.com zaitcev@kotori.zaitcev.us +pranithk@gluster.com pkarampu@redhat.com +raghavendrabhat@gluster.com raghavendra@redhat.com +raghavendra@gluster.com rgowdapp@redhat.com +raghavendra@zresearch.com rgowdapp@redhat.com +rahulcssjce@gmail.com rahulcs@redhat.com +rajesh@gluster.com rajesh@redhat.com +rajesh.amaravathi@gmail.com rajesh@redhat.com +shehjart@zresearch.com shehjart@gluster.com +venky@gluster.com vshankar@redhat.com +vijay@gluster.com vbellur@redhat.com +vijay@dev.gluster.com vbellur@redhat.com +vijaykumar.koppad@gmail.com vkoppad@redhat.com +vikas@zresearch.com vikas@gluster.com +shishirng@gluster.com sgowda@redhat.com diff --git a/extras/who-wrote-glusterfs/gitdm.config b/extras/who-wrote-glusterfs/gitdm.config new file mode 100644 index 00000000000..e1ff2bd5bda --- /dev/null +++ b/extras/who-wrote-glusterfs/gitdm.config @@ -0,0 +1,8 @@ +# +# This is the gitdm configuration file for GlusterFS. +# See the gitdm.config in the gitdm repositofy for additional options and +# comments. +# + +EmailAliases gitdm.aliases +EmailMap gitdm.domain-map diff --git a/extras/who-wrote-glusterfs/gitdm.domain-map b/extras/who-wrote-glusterfs/gitdm.domain-map new file mode 100644 index 00000000000..f1c3058982e --- /dev/null +++ b/extras/who-wrote-glusterfs/gitdm.domain-map @@ -0,0 +1,15 @@ +# +# Here is a set of mappings of domain names onto employer names. +# +active.by ActiveCloud +cern.ch CERN +gluster.com Red Hat +gooddata.com GoodData +hastexo.com hastexo +ibm.com IBM +linbit.com LINBIT +netbsd.org NetBSD +netdirect.ca Net Direct +redhat.com Red Hat +stepping-stone.ch stepping stone GmbH +zresearch.com Red Hat diff --git a/extras/who-wrote-glusterfs/who-wrote-glusterfs.sh b/extras/who-wrote-glusterfs/who-wrote-glusterfs.sh new file mode 100755 index 00000000000..487f5874b55 --- /dev/null +++ b/extras/who-wrote-glusterfs/who-wrote-glusterfs.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# +# Gather statistics on "Who wrote GlusterFS". The idea comes from the excellent +# articles on http://lwn.net/ named "Who wrote ?". +# +# gitdm comes from git://git.lwn.net/gitdm.git by Jonathan Corbet. +# +# Confguration files used: +# - gitdm.config: main configuration file, pointing to the others +# - gitdm.aliases: merge users with different emailaddresses into one +# - gitdm.domain-map: map domain names from emailaddresses to companies +# + +DIRNAME=$(dirname $0) + +GITDM_REPO=git://git.lwn.net/gitdm.git +GITDM_DIR=${DIRNAME}/gitdm +GITDM_CMD="python ${GITDM_DIR}/gitdm" + +error() +{ + local ret=${?} + printf "${@}\n" > /dev/stderr + return ${ret} +} + +check_gitdm() +{ + if [ ! -e "${GITDM_DIR}/gitdm" ] + then + git clone --quiet git://git.lwn.net/gitdm.git ${DIRNAME}/gitdm + fi +} + +# The first argument is the revision-range (see 'git rev-list --help'). +# REV can be empty, and the statistics will be calculated over the whole +# current branch. +REV=${1} +shift +# all remaining options are passed to gitdm, see the gitdm script for an +# explanation of the accepted options. +GITDM_OPTS=${@} + +if ! check_gitdm +then + error "Could not find 'gitdm', exiting..." + exit 1 +fi + +git log --numstat -M ${REV} | ${GITDM_CMD} -b ${DIRNAME} -n ${GITDM_OPTS} -- cgit