A few days ago, there was a discussion about how to get a "fair" list
of GIMP contributors.  I thought that it would be extremely difficult
to generate such a list automatically from the various ChangeLog files
in the source tree, from Bugzilla, from the web site updates, etc.

To prove myself wrong, I started writing a script that can parse a
ChangeLog file and extract the dates, names and e-mail addresses from
all entries, check for the names of contributors mentioned in the
text, check for the names of patch files, etc.  The script is far from
finished, but it already works better than I expected.  If you are
curious and you want to see a quick hack turned into a Perl
monstrosity, you can take a look at this:
Currently, the script takes only one optional parameter: the name of
the ChangeLog file to read (so you can parse "ChangeLog.pre-1-2" or
"po/ChangeLog"), the default is "ChangeLog" in the current directory.

The output is not very pretty, but gives an idea of what the script
could output when it is finished: it displays a list of GIMP
contributors, sorted by the number of times they are mentioned in the
ChangeLog.  The current output is biased towards those who have CVS
commit access, because they are credited even when they apply a patch
supplied by someone else.  Also, the way the script detects the names
is not perfect and requires lots of special cases in the code.  But I
am trying to improve that.  I know how to solve these problems (I
designed the parser in such a way that I can correctly credit the
patch authors) but I do not have the time to write the missing code
today.  There is a short TODO list near the top of the file.  If you
want to see what kind of information is collected by the script while
it runs, you can uncomment the various "print" statements in the code.
I recommend that you uncomment the line:
# print Dumper (@contributors);
located near the end of the file if you want to see how the list looks
like internally (this is a list of hashes of lists).

I repeat: the script is not finished yet and I am still working on it.
I am making it available now because I will be away from the 'net for
ten days (no e-mail) and maybe some of you may want to play with it
before I am back.

In the meantime, have a merry Christmas and a very GIMPy new year!

Gimp-developer mailing list

Reply via email to