ooo-build r12800 - in trunk: . scratch/rcsutil
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r12800 - in trunk: . scratch/rcsutil
- Date: Thu, 5 Jun 2008 00:48:27 +0000 (UTC)
Author: kyoshida
Date: Thu Jun 5 00:48:26 2008
New Revision: 12800
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12800&view=rev
Log:
2008-06-04 Kohei Yoshida <kyoshida novell com>
* scratch/rcsutil/parse_rcs.py: more work on improving the affiliation
list, skip resync and integration commits, and include total file count,
total commit count etc.
Modified:
trunk/ChangeLog
trunk/scratch/rcsutil/parse_rcs.py
Modified: trunk/scratch/rcsutil/parse_rcs.py
==============================================================================
--- trunk/scratch/rcsutil/parse_rcs.py (original)
+++ trunk/scratch/rcsutil/parse_rcs.py Thu Jun 5 00:48:26 2008
@@ -11,6 +11,8 @@
'ace_dent': 'unaffiliated', # Andrew Dent
'af': 'Sun', # Andre Fischer
'aidan': 'unaffiliated', # Aidan Butler
+ 'akhva': 'Sun', ### unknown (2007-2008, works on PDF import)
+ 'aklitzing': 'unaffiliated', # Andre Klitzing (2006 GSoC student)
'ama': 'Sun', # Andreas Martens
'antoxu': 'Intel', # Antonio Xu
'armin': 'Sun', # Armin Theissen
@@ -22,7 +24,7 @@
'bc': 'Sun', # Behrend Cornelius
'bei': 'Sun', # Bernd Eilers
'beppec56': 'unaffiliated', # Giuseppe Castagno
- 'berryjia': 'Sun', # Berry Jia
+ 'BerryJia': 'Sun', # Berry Jia
'bh': 'Sun', # Bettina Haberer
'Bibek': 'Trees For Life', # Bibek Sahu
'bluedwarf': 'unaffiliated', # Takashi Nakamoto
@@ -34,7 +36,8 @@
'ch2000liuy': 'Redflag', # YU Liu
'chainchen': 'Redflag', # Jinhong Chen
'cj': 'Sun', # Christian Jansen
- 'cl': 'Sun', # Christian Lippka
+ 'cl': 'Sun', # Christian Lippka
+ 'cloph': 'unaffiliated', # Christian Lohmaier
'cmc': 'RedHat', # Caolan McNamara
'cn': 'Sun', # Christoph Neumann
'coni': 'Sun', # Rafaella Braconi
@@ -60,13 +63,16 @@
'dvo': 'unaffiliated', # Daniel Vogelheim
'ebischoff': 'Bureau Cornavin', # Eric Bischoff
'ekato': 'unaffiliated', # Etsushi Kato
- 'er': 'Sun', # Eike Rathke
+ 'er': 'Sun', # Eike Rathke
+ 'erack': 'Sun', # Eike Rathke
'ericb': 'unaffiliated', # Eric Bachard
'fa': 'RedHat', # Dan Williams
- 'fangyq': 'Redflag', # Yaqiong Fang
+ 'fangyq': 'Redflag', # Yaqiong Fang
+ 'fdechelle': 'unaffiliated', # Francois Dechelle (works in api/exthome)
'federicomena': 'Novell', # Federico Mena-Quinter
'fheckl': 'Sun', ### unknown (probably Sun? working on MacOS aqua port)
'filhocf': 'BrOffice.org', # Claudio F Filho
+ 'fl': 'Sun', # Frank Loehmann
'flr': 'Novell', # Florian Reuter
'fma': 'Sun', # Frank Mau
'fme': 'Sun', # Frank Meies
@@ -85,7 +91,8 @@
'grsingleton': 'pathtech.org', # G. Roderick Singleton
'gt': 'Sun', ### unknown (last commit in 2004)
'gyang': 'Sun', ### unkown (2002 - 2005)
- 'haggai': 'Debian', # Chris Halls
+ 'haggai': 'Debian', # Chris Halls
+ 'hbrinkm': 'Sun', # Henning Brinkmann
'hdu': 'Sun', # Herbert Duerr
'hjs': 'Sun', # Hans-Joachim Lankenau
'hr': 'Sun', # Jens-Heiner Rechtien
@@ -96,7 +103,7 @@
'iha': 'Sun', # Ingrid Halama
'ihi': 'Sun', # Ivo Hinkelmann
'is': 'Sun', # Ingo Schmidt
- 'isma87': 'Student', # Ismael Merzaq
+ 'isma87': 'unaffiliated', # Ismael Merzaq
'ja': 'Sun', # Joost Andrae
'jacky23': 'Redflag', # Sheng zhao
'jakob_lechner': 'Fabalabs', # Jakob Lechner
@@ -105,13 +112,14 @@
'jbrunsmann': 'unaffiliated', # Jorg Brunsmann
'jbu': 'Sun', # Jorg Budischewski
'jcn': 'Novell', # Jan Nieuwenhuizen
- 'jiamingfei': 'IBM Corp.', # Mingfei Jia
+ 'jiamingfei': 'IBM', # Mingfei Jia
'jiangc': 'Redflag', # Chuang Jiang
'jimmac': 'Novell', # Jacob Steiner
'jj': 'Sun', # Jorg Jahnke
'jl': 'Sun', # Joachim Lingner
'jmarmion': 'Sun', # John Marmion
'jmeng': 'Sun', ### unknown (2002 - 2005)
+ 'jobin': 'CollabNet', # Jobin Thomas
'john.marmion': 'Sun', # John Marmion
'jnavrati': 'RedHat', # Jan Navratil
'jodygoldberg': 'Novell', # Jody Goldberg
@@ -132,6 +140,7 @@
'kr': 'Sun', # Kay Ramme
'kso': 'Sun', # Kai Sommerfeld
'kz': 'Sun', # Kurt Zenker
+ 'larsbehr': 'unaffiliated', # Lars B (AODL library, toolkit)
'laurentgodard': 'inDesko/Nuxeo', # Laurent Godard
'lh': 'Sun', # Lutz Hoeger
'liangweike': 'Redflag', # Weike Liang
@@ -139,7 +148,7 @@
'liujl': 'Redflag', # Jianli Liu
'liutao': 'Redflag', # LiuTao
'liuyuhua': 'Redflag', # Yuhua Liu
- 'lixxing': 'IBM Corp.', # Xing Li
+ 'lixxing': 'IBM', # Xing Li
'liyuan': 'Redflag', # Yuan Li
'lkovacs': 'unaffiliated', # Laszlo Kovacs
'lla': 'Sun', # Lars Langhans
@@ -162,7 +171,7 @@
'mib': 'Sun', # Michael Brauer
'mikeleib': 'Intel', # Michael Leibowitz
'mindyliu': 'unaffiliated', # Mindy Liu
- 'mkretzschmar': 'Student', # Martin Kretzschmar
+ 'mkretzschmar': 'unaffiliated', # Martin Kretzschmar
'mloiseleur': 'Linagora', # Michel Loiseleur
'mmaher': 'unaffiliated', # Martin Maher
'mmeeks': 'Novell', # Michael Meeks
@@ -171,7 +180,8 @@
'mnicel': 'Novell', # NicelKM
'mod': 'unaffiliated', # Maximilian Odendahl
'mox': 'unaffiliated', # Mox Soini
- 'mrauch': 'unaffiliated', # Michael Rauch
+ 'mrauch': 'unaffiliated', # Michael Rauch
+ 'msicotte': 'unaffiliated', # Michael Sicotte (Aqua port)
'mst': 'Sun', ### unknown (2007-current)
'mt': 'Sun', # Malte Timmermann
'mtg': 'unaffiliated', # Martin Gallwey
@@ -199,7 +209,7 @@
'pjunck': 'Sun', # Pascal Junck
'pl': 'Sun', # Philipp Lohmann
'pliao': 'unaffiliated', # Ping Liao
- 'plipli': 'OO Aqua Port', # Sebastien Plisson
+ 'plipli': 'unaffiliated', # Sebastien Plisson
'pluby': 'unaffiliated', # Patrick Luby
'pmadhav': 'Intel', # Prasad Madhav
'pmladek': 'Novell', # Petr Mladek
@@ -210,7 +220,7 @@
'rene': 'Debian', # Rene Engelhard
'Rescue/k0fcc': 'Canonical', # Joey Stanford
'rkinsella': 'Sun', # Robert Kinsella
- 'rodarvus': 'INdT (Instituto Nokia de Tecno', # Rodrigo Parra Novo
+ 'rodarvus': 'INdT', # Rodrigo Parra Novo
'rpiterman': 'unaffiliated', # Ron Piterman
'rsiddhartha': 'Novell', # Raul Siddhartha
'rt': 'Sun', # Rudiger Timm
@@ -222,11 +232,11 @@
'sg': 'Sun', # Steffen Grund
'sgauti': 'unaffiliated', # Sophie Gautier
'shilei': 'Redflag', # Lei shi
- 'shiwg': 'IBM Corp.', # Wei Guo SHI
+ 'shiwg': 'IBM', # Wei Guo SHI
'shizhoubo': 'Redflag', # Zhoubo Shi
'sj': 'Sun', # Sven Jacobi
'sjanki': 'unaffiliated', # Sunil Amitkumar Janki
- 'smmathews': 'student', # Shane M Mathews
+ 'smmathews': 'unaffiliated', # Shane M Mathews
'smsm1': 'unaffiliated', # Shaun McDonald
'sparcmoz': 'clug.org.au', # Jim Watson
'ssa': 'Sun', # Stephan Schaefer
@@ -256,7 +266,8 @@
'va': 'Sun', # Volker Ahrendt
'vg': 'Sun', # Vladimir Glazounov
'volody': 'unaffiliated', # Volodymyr Khrystynych
- 'vq': 'Gravity Waves', # Volker Quetschke
+ 'vq': 'Gravity Waves', # Volker Quetschke
+ 'wangyumin_ccoss': 'CCOSS',
'waratah': 'slug.org.au', # Ken Foskey
'weiz': 'Redflag', # Zhao Wei
'willem.vandorp': 'unaffiliated', # Willem van Dorp
@@ -277,10 +288,6 @@
affil = '(unknown)'
if currentAffiliations.has_key(name):
affil = currentAffiliations[name]
-# if affil == 'Independent':
-# affil = 'unaffiliated'
-# elif not affil in ['Sun', 'Novell', 'Intel', 'RedHat', 'Redflag'] :
-# affil = 'Other'
# Process names whose affiliations have changed over time.
@@ -292,7 +299,7 @@
else:
affil = 'Novell'
- if name == 'flr':
+ elif name == 'flr':
# Florian joined Novell in Nov 2006.
dateJoinedNovell = datetime.datetime(2006, 11, 1)
if date < dateJoinedNovell:
@@ -300,7 +307,7 @@
else:
affil = 'Novell'
- if name == 'npower':
+ elif name == 'npower':
# Noel Power (TODO: double-check with him)
dateJoinedNovell = datetime.datetime(2006, 2, 1)
if date < dateJoinedNovell:
@@ -308,6 +315,20 @@
else:
affil = 'Novell'
+ elif name == 'fridrich_strba':
+ dateJoinedNovell = datetime.datetime(2007, 3, 1)
+ if date < dateJoinedNovell:
+ affil = 'unaffiliated'
+ else:
+ affil = 'Novell'
+
+ elif name == 'kohei':
+ dateJoinedNovell = datetime.datetime(2007, 3, 1)
+ if date < dateJoinedNovell:
+ affil = 'unaffiliated'
+ else:
+ affil = 'Novell'
+
return affil
@@ -351,7 +372,6 @@
self.symbolicNamesError = False
self.miscError = False
-
def parse (self):
self.reset()
@@ -571,6 +591,22 @@
return True
+ def __isResyncCommit (self, msglines):
+ reResync = re.compile('^RESYNC:.*;')
+ for msgline in msglines:
+ res = reResync.search(msgline)
+ if res != None:
+ return True
+ return False
+
+ def __isCwsIntegrationCommit (self, msglines):
+ reCwsIntegration = re.compile('^INTEGRATION:\ CWS')
+ for msgline in msglines:
+ res = reCwsIntegration.search(msgline)
+ if res != None:
+ return True
+ return False
+
def writeCommitStats (self, statObj):
"""Write commit statistics to the passed CommitStats instance.
@@ -587,8 +623,48 @@
Each commit log is supposed to have at least the author, revision and the date
records, while some logs may not have the added/removed line information (such
as initial commits, branch nodes etc.
+
+Also, disregard commits whose message contains RESYNC or INTEGRATION: CWS.
"""
+
+ issueNum = 'i[1-9][0-9]+'
+ reIssueNumbers = []
+# reIssueNumbers.append(re.compile('^#' + issueNum + '#'))
+# reIssueNumbers.append(re.compile('^Issue number:\ *' + issueNum))
+ reIssueNumbers.append(re.compile(issueNum))
+
for log in self.commitLogs:
+
+ statObj.totalCommitCount += 1
+
+ if log.has_key('message'):
+
+ # Check the message and disregard RESYNC commits.
+ if self.__isResyncCommit(log['message']):
+ statObj.resyncCommitCount += 1
+ continue
+
+ # Skip if this is a CWS integration commit.
+ if self.__isCwsIntegrationCommit(log['message']):
+ statObj.integrationCommitCount += 1
+ continue
+
+ # Check the message to see if this is a patch submission.
+ isIssueNumber = False
+ for msgline in log['message']:
+ for reIssueNumber in reIssueNumbers:
+ res = reIssueNumber.search(msgline)
+ if res != None:
+ txt = msgline[res.start(0):res.end(0)]
+ isIssueNumber = True
+ break
+
+ if isIssueNumber:
+ break
+
+ if isIssueNumber:
+ statObj.patchCommitCount += 1
+
# author
if not log.has_key('author'):
self.debugPrint("author record is absent")
@@ -636,6 +712,11 @@
def __init__ (self):
self.authors = {}
+ self.totalFileCount = 0
+ self.totalCommitCount = 0
+ self.resyncCommitCount = 0
+ self.integrationCommitCount = 0
+ self.patchCommitCount = 0
def add (self, author, date, added, removed):
@@ -776,14 +857,16 @@
r.close()
w.close()
e.close()
-
+
+ self.stats.totalFileCount += 1
+
return not obj.isError()
def __outputReport (self, fd):
authorNames = self.stats.authors.keys()
authorNames.sort()
- fd.write("author\tyear\tmonth\taffiliation\tcommit count\tlines added\tlines removed\n")
+ fd.write("author\tyear\tmonth\taffiliation\tcommit count\tlines added\tlines removed\tdate\n")
for authorName in authorNames:
authorObj = self.stats.authors[authorName]
years = authorObj.years.keys()
@@ -794,11 +877,19 @@
months.sort()
for month in months:
monthObj = yearObj.months[month]
- fd.write("%s\t%d\t%d\t%s\t%d\t%d\t%d\n"%(
+ fd.write("%s\t%d\t%d\t%s\t%d\t%d\t%d\t%d-%d-1\n"%(
authorName, year, month,
monthObj.affiliation,
monthObj.commitCounts,
- monthObj.linesAdded, monthObj.linesRemoved))
+ monthObj.linesAdded, monthObj.linesRemoved,
+ year, month))
+
+ fd.write("\n")
+ fd.write("total file count\t%d\n"%self.stats.totalFileCount)
+ fd.write("total commit count\t%d\n"%self.stats.totalCommitCount)
+ fd.write("cws integration commits ignored\t%d\n"%self.stats.integrationCommitCount)
+ fd.write("resync commits ignored\t%d\n"%self.stats.resyncCommitCount)
+ fd.write("issue numbers found\t%d\n"%self.stats.patchCommitCount)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]