ReviewGuide
Size: 6145
Comment: Moving Review Guide to its own page to set up new Getting Started page
|
Size: 5769
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from ReviewersTeam/GettingInvolved | |
Line 5: | Line 4: |
Welcome to the reviewer's team! Patches submitted by the community are extremely important to us. The process described here is aimed at helping ensure good patches make it into Ubuntu in a timely fashion and also get integrated upstream. Your help in reviewing patches make the process go fast. |
|
Line 13: | Line 9: |
Line 16: | Line 10: |
* Make a [[https://bugs.launchpad.net/ubuntu/+bugs?field.subscriber=ubuntu-reviewers&field.tag=patch%20-patch-needswork%20-patch-forwarded-upstream%20-patch-forwarded-debian%20-patch-accepted-upstream%20-patch-accepted-debian%20-patch-rejected-upstream%20-patch-rejected-debian%20-patch-rejected&field.tags_combinator=ALL|query]] for bugs with ''ubuntu-reviewers'' subscribed that are tagged '''patch'''. Select one to work on. | * Make a [[https://bugs.launchpad.net/ubuntu/+bugs?field.subscriber=ubuntu-reviewers&field.tag=patch%20-patch-needswork%20-patch-forwarded-upstream%20-patch-forwarded-debian%20-patch-accepted-upstream%20-patch-accepted-debian%20-patch-rejected-upstream%20-patch-rejected-debian%20-patch-rejected&field.tags_combinator=ALL|query]] for bugs with ''ubuntu-reviewers'' subscribed with only '''patch''' tag. Select one to work on. |
Line 45: | Line 39: |
Line 47: | Line 40: |
Line 53: | Line 45: |
Introduction
We have a script which automatically finds bugs with patches. Of course, it can't decide whether the patch is good or not, we need a human for this. The script does two things: Adds a patch tag and subscribes ubuntu-reviewers. The tag is used to track state as the patch goes through our process. The subscription is there to prompt us to start the process with a given bug.
As you complete each step of the process, you will mark your process by adding an appropriate 'patch-*' tag and removing the old one. Make sure to ALWAYS include a comment when you change the tag just like you would if you changed the bug status, so it's clear to later reviewers what happened.
Btw, if you spot an abandoned patch that still looks relevant, that isn't tagged 'patch', feel free to add it manually and subscribe ubuntu-reviewers.
Workflow
Make a query for bugs with ubuntu-reviewers subscribed with only patch tag. Select one to work on.
- Review and test the patch.
If it does not work properly or needs more work, add the patch-needswork tag. Give the patch submitter some guidance on the rationale for the tag, and ask whether they are willing to update it to resolve outstanding issues.
If the patch works, subscribe yourself to the bug, forward the bug and patch upstream, and add patch-forwarded-upstream tag. If the change on the upstream package is debian specific, add the patch-forwarded-debian tag and forward to Debian.
When a review of the patch is done, unsubscribe ubuntu-reviewers from the bug. The tags will help us catch the bug for clean up later.
- Handle feedback from upstream.
If upstream accepts the patch, remove patch-forward-upstream tag, and add patch-accepted-upstream (or patch-accepted-debian) tag. Indicate the VCS revision and/or expected upstream/debian version/revision that will include the bugfix. If the change is significant enough to be fixed in Ubuntu, get the patch uploaded.
If upstream requests patch rework, add the patch-needswork tag, and indicate how to find the upstream feedback on the patch in the bug report. Ask the patch submitter whether they are willing to work with upstream to resolve outstanding issues.
If upstream rejects the patch, remove patch-forward-upstream tag, and add patch-rejected-upstream (or patch-rejected-debian) tag. Copy the reasoning for upstream rejection into the Ubuntu bug. Whether the changes get into Ubuntu in this case depends on the will of Ubuntu developers backing the change.
If upstream ignores the patch for a moderate amount of time, add the patch-forwarded-debian tag and forward to Debian (Handle feedback from Debian similar to handling upstream feedback )
If the patch is unnecessary or addresses something that does not need to be fixed, add tag patch-rejected, give reason in the comments, and if required close the bug to Won't Fix
Getting patches accepted
In an ideal world the perfect workflow to get a patch included would be:
get it accepted Upstream (if applicable)
get it accepted in Debian (if applicable)
- get it accepted in Ubuntu
There's a number of reasons why you might want to skip one or two steps of the above. Here's some decision making help:
- Don't forward to
Upstream, if the patch just changes the packaging (contents of the ./debian/ directory, but not ./debian/patches/).
Debian, if the package does not exist in Debian. (Check using http://packages.debian.org)
Don't wait for Upstream or Debian approval (but forward anyway), if it fixes an important (importance set at Critical or High) bug and we're late in the ReleaseSchedule.
In case you are working on StableReleaseUpdates or we're late in the ReleaseSchedule, you might need to fix the bug in a different way than Debian or Upstream. It's important to use a minimally intrusive fix in those cases, even if this means a temporary deviation.
Inclusion in Ubuntu
These bugs have patches that were either accepted Upstream or in Debian.
If the source package can be imported straight from Debian (Ubuntu package unchanged): SyncRequestProcess
If the change needs to be merged from Debian: UbuntuDevelopment/Merging
Getting a patch uploaded by a sponsor: SponsorshipProcess
Examples
544242 This bug was opened with a patch provided by the reporter. It was subscribed by the subscription script with the patch tag. The patch was forwarded upstream, and recieved the patch-forwarded-upstream tag. After upstream accepted this patch, it recieved the patch-accepted-upstream tag and is ready to be fixed in Ubuntu.
33288 The initial patch tag was changed to patch-needswork based on upstream comments.
ReviewersTeam/ReviewGuide (last edited 2011-06-28 11:25:19 by dholbach)