This is an old revision of the document!
Community Health
Ratio of code committed by contributors other than original project initiator Contributions are going up beyond the core team
Next we need to figure out how many commits were made by that user.
SELECT count(commits.id), projects.name, WEEK(commits.created_at) FROM users JOIN commits on users.id = commits.author_id JOIN projects on projects.id = commits.project_id WHERE (users.id, projects.id) IN (SELECT user_id, project_id FROM (SELECT users.id as user_id, projects.id as project_id, min(commits.created_at) FROM commits JOIN projects on projects.id = commits.project_id JOIN users on commits.author_id = users.id WHERE commits.created_at > projects.created_at group by projects.id) as earliest_committers) GROUP BY projects.id, WEEK(commits.created_at)
Commits made by users other than that user:
SELECT count(commits.id), projects.name, WEEK(commits.created_at) FROM users JOIN commits on users.id = commits.author_id JOIN projects on projects.id = commits.project_id WHERE (users.id, projects.id) NOT IN (SELECT user_id, project_id FROM (SELECT users.id as user_id, projects.id as project_id, min(commits.created_at) FROM commits JOIN projects on projects.id = commits.project_id JOIN users on commits.author_id = users.id WHERE commits.created_at > projects.created_at group by projects.id) as earliest_committers) GROUP BY projects.id, WEEK(commits.created_at)
Anna Buhman