Community
Participate
Working Groups
Apparently Gerrit doesn't care very much about the committer field on commit records. As I understand it, the author field is the only one that contains useful information (from Gerrit's perspective). Dash currently mines committer information from the commit field exclusively, thereby resulting in some incorrect statistics. Backing up a bit... Dash--by intent--gathers records of commit activity by committers. Contributions made by non committers are actually attributed to the committers as "activity". This is probably (I wasn't around for the original design) due to the fact that CVS and SVN don't make actual author information available. I assume that we can get this commit information from Gerrit. However, I'm wondering if we want to. It seems odd to attribute the work of another contributor to the individual who simply committed that work. In the meantime, a simple quick fix might be order: we can simply ignore commits that we cannot attribute to a committer. That will remove the bogus committers from the Dash database. Moving forward, it may make sense to change the "committer activity" charts into "contributor activity" charts and include all the commits attributed to the actual author.
I can also see a chart with committer activity (author is a committer) vs. contributor activity (author is not a committer) which would help indicate health of the community.
So there's a rinkle. Sometimes correct committer information in a Git repository does not map to a committer. If, for example, code moves from one project to another, the commits can be moved over with author and committer information intact. Expired committer records are not generally moved along with code, which means that a project could wind up with a bunch of code that has no corresponding committer records. e.g. How do we know that contributions from ablewitt on JGit were not moved to JGit from Dash? e.g. Commits in eclipse.platform predate the breakup of the project into subprojects and the conversion to CVS. There is no separate committer/author information. How do we know that acovas, a former committer on 'eclipse', should also be considered a former committer of eclipse.platform when generating the IP Log? There is no easy way to distinguish contributors who just happen to be committers in some other project from former project committers. Maybe we can get this information from Gerrit. This doesn't help us in the case when commits are moved. Yikes. This is going to require more than just some casual hacking :-)
Quick thought: Can I determine whether or not the author is a committer at the time of commit from "signed-off by" entries in the commit comment?
With a reimplementation of Dash, I'd like to consider tracking the author rather than the committer. We can determine whether or not somebody is a committer from the Foundation database (though there is some historical data loss as not all early committer records are in the database).
This is addressed in the new Dashboard. We track all authors and use the foundation database to determine which of those authors are committers. Marking FIXED.