How we handle patches (mmoved)

Before creating a patch series:

 * 1) Add unit tests with your functionality changes or additions.
 * 2) Use docstrings and comments where appropriate. Spell-check your additions. Try to apply pep8 standards.
 * 3) Test your changes on a local instance of the website. Prove to yourself that your changes address the issue they are supposed to address.
 * 4) Run the test suite, and make sure your unit tests pass and all tests that passed before your changes still pass.
 * 5) Use a tool like PyChecker to check for bugs.

While creating a patch series:

 * 1) Before creating the patch, update the master branch of your local repository checkout, and make sure your commits apply cleanly on top of master. In git, you can achieve this by developing on a branch and rebasing your branch commits on top of master.
 * 2) Generate the patch set for your changes. Our preferred patch submission form is a patch series generated with "git format-patch". Read about How to generate patches with git format-patch.

Submitting your patch series for review:

 * 1) Attach your patches to the issue ticket at https://openhatch.org/bugs.
 * 2) Change the issue status to "in-review".
 * 3) Join IRC and say that you have an issue ready for review.

If the reviewer says it's ready to go, your patch set will get deployed in short order. If the reviewer has feedback he/she wants addressed, make the necessary revisions and start back at the "Before creating a patch series" section.

As a patch reviewer

 * 1) Review the patch series for correctness and cleanliness.
 * 2) If you are satisfied with the patch set:
 * 3) If the author hasn't already done this: tell the author "Please email devel@lists.openhatch.org saying that you're okay with your work being under the Affero GPL, version 3. If you're willing, it is preferable that you say 'the Affero GPL, version 3 or later, at your option'."
 * 4) Have someone with deployment access deploy the changes and monitor the deployment.
 * 5) If you have revisions you'd like to see made, change the issue status to "in-progress", re-assign the issue to the patch submitter if it isn't already, and leave your review feedback on the ticket.