]> xenbits.xensource.com Git - people/larsk/xenproject-org-gitdm.git/commitdiff
Track which versions a developer has contributed to
authorJonathan Corbet <corbet@lwn.net>
Fri, 6 Apr 2012 21:57:39 +0000 (15:57 -0600)
committerJonathan Corbet <corbet@lwn.net>
Fri, 6 Apr 2012 21:57:39 +0000 (15:57 -0600)
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
database.py

index d8c8095d9c3ae943003bf56dd46925c5f35e32fd..321c5bfb95addd615bd12677a88138037babae95 100644 (file)
@@ -25,6 +25,7 @@ class Hacker:
         self.tested = [ ]
         self.reports = [ ]
         self.testcred = self.repcred = 0
+        self.versions = [ ]
 
     def addemail (self, email, elist):
         self.email.append (email)
@@ -46,6 +47,12 @@ class Hacker:
         self.patches.append (patch)
 
     #
+    # Note that the author is represented in this release.
+    #
+    def addversion (self, release):
+        if release not in self.versions:
+            self.versions.append (release)
+    #
     # There's got to be a better way.
     #
     def addsob (self, patch):
@@ -115,6 +122,17 @@ def DumpDB ():
             for date, empl in h.employer[i]:
                 out.write ('\t\t %d-%d-%d %s\n' % (date.year, date.month, date.day,
                                                  empl.name))
+        if h.versions:
+            out.write ('\tVersions: %s\n' % ','.join (h.versions))
+
+#
+# Hack: The first visible tag comes a ways into the stream; when we see it,
+# push it backward through the changes we've already seen.
+#
+def ApplyFirstTag (tag):
+    for n in HackersByName.keys ():
+        if HackersByName[n].versions:
+            HackersByName[n].versions = [tag]
 
 #
 # Employer info.
@@ -277,6 +295,9 @@ def MapToEmployer (email, unknown = 0):
             return EmailToEmployer[addr]
         except KeyError:
             pass
+    #
+    # We don't know who they work for.
+    #
     if unknown:
         return [(nextyear, GetEmployer ('(Unknown)'))]
     return [(nextyear, GetEmployer (email))]
@@ -285,3 +306,4 @@ def MapToEmployer (email, unknown = 0):
 def LookupEmployer (email, mapunknown = 0):
     elist = MapToEmployer (email, mapunknown)
     return elist # GetEmployer (ename)
+