Patch Tracking for Linaro
We wish to provide a system for tracking the status of patches, and providing metrics on them.
Blueprint information
- Status:
- Complete
- Approver:
- James Westby
- Priority:
- Medium
- Drafter:
- Paul Larson
- Direction:
- Approved
- Assignee:
- Guilherme Salgado
- Definition:
- Approved
- Series goal:
- None
- Implementation:
-
Implemented
- Milestone target:
- None
- Started by
- Guilherme Salgado
- Completed by
- Guilherme Salgado
Whiteboard
Work Items
Work items:
Finish deployment and make sure there are cronjobs for all scripts that must run periodically: DONE
Fix patchwork tests that hard-code URL segments as they broke when we moved all patchwork views under /patchwork: DONE
Investigate alternative charting libraries: DONE
Add a second dataset for accepted patches to the patch-age-
Rewrite the charts on the frontpage using a decent charting library because gchart is unmaintained and the docs for it have disappeared: DONE
Show list of patches submitted by team members on a team's page: DONE
Implement a report showing the time-to-
See if we can use the same scale for the two bar charts on the frontpage (dropped because their definition of "age" is not the same so it might not be a good idea to induce comparisons between them): POSTPONED
Link commit hashes to the gitweb view of them: DONE
Get feedback on the charts/frontpage: DONE
Trivialities (move team member list below the chart; remove "Incoming patches" heading on per-project patch list; use username instead of Person.name on members list when Person.name is None): DONE
Write tests for the charts/frontpage and refactor the code used there: DONE
Use gmane search by message ID (http://
Add patch list to project page, including accepted ones and sorting by date: DONE
Link to the project from the patch page: DONE
Get total number of commits per month (from January onwards) on all projects we contribute to, to compare with the number of patches we submitted: DONE
Add a form field in the header to enter patch number and go straight to it (dropped because having patches served on /NNN is better and already done): POSTPONED
Show (at the bottom of the home page) the 10 oldest patches, to shame people into gardening their patches: DONE
Make it possible to have some user-generated content shown on the frontpage so that we can put monthly highlights there: DONE
Pull Linaro-authored AOSP patches from review.
Mention that we started collecting data in Jan 2011 and that the system went live on Jun 2011, which may help explain the rapid growth between Jan-Jun: DONE
Mention on the frontpage how many engineers were responsible for submitting the patches: DONE
Make the filters in patch lists more visible: DONE
Design schema changes to keep track of state changes so that we can generate the charts designed: DONE
Implement the chart showing overall patches submitted/accepted per month: DONE
Implement chart showing patch age distribution: DONE
Implement chart showing patches submitted/accepted per month for projects: DONE
Implement chart showing patches submitted/accepted per month for teams: DONE
Design a new home page with graphs and overall counts for the current month, with links to patch lists and the user's outstanding patches: DONE
Create a FAQ, linked to from the home page, with answers to common questions: DONE
Make it possible to skip some subteams of ~linaro when syncing membership data from LP and start by skipping the PM team: DONE
Do not count patches submitted by people using non-linaro.org addresses: DONE
Change Patchwork to store patch authors (identified by "From:" lines preceding the patch) as well as patch submitters: DONE
Create a new page to list all patches submitted by the logged in user: DONE
Make sure any authenticated user has rights to change patch state on all projects: DONE
Use email addresses (as a fallback to List-ID headers) to look up the project to which a patch applies: DONE
Make sure that patches for which we don't have a registered project end up in the "Other" project: DONE
Write a script which re-parses the patches in the other-unknown project and move them to other projects when appropriate: DONE
Use Launchpad's login service to authenticate: DONE
Figure out how we're going to feed emails to patchwork's parser: DONE
Decide if we're going to abuse patchwork to parse revision/
Make sure login.launchpad.net sends the OpenID sreg extension fields to us when a user authenticates: DONE
Provide a UI for mass-moving patches from one project to another: DONE
Design DB schema for storing the information we need for email -> person -> team mapping: DONE
Script which pulls email -> person -> team mapping from Launchpad (probably by traversing subteams of ~linaro): DONE
Design DB schema for linking DVCS branches/repos to a project in Patchwork: DONE
Script which scans commits on the location specified by every project and update state of patches that have been committed: DONE
Dependency tree

* Blueprints in grey have been implemented.