So, you want to contribute to Twisted?
First, a few recommendations:
- Hang out on IRC and ask questions
- Search trac for tickets with the 'Easy' keyword. These are low-hanging fruit and are good for first-time contributors (avoid easy tickets with the "review" keyword! another developer has already started working on these).
What you'll need:
- Subversion (SVN) client
What about Git/Bazaar/Mercurial?
Twisted development takes place in a Subversion repository, but you're welcome to use another VCS for local development.
You'll still need to be able to checkout from the svn repository and keep your local development in-sync with Twisted trunk.
See DVCS Workflows for tips on using your favorite DVCS and keeping up-to-date with trunk.
- Register with the site and create an account
- A decent grasp of Twisted and what you intend to accomplish
Just the Basics
This assumes you will be working on an existing open ticket.
Checkout a fresh copy of Twisted trunk. This is going to be your development branch.
svn co svn://svn.twistedmatrix.com/svn/Twisted/trunk twisted-trunk
Hack and Test
- Tests are required
- Docstrings are required
Hack away and then run the full Twisted test suite and make sure your new tests pass along with entire suite:
Submit a Patch
Create a patch from the root of your checkout and attach it to the trac ticket:
svn diff -u > my-twisted-patch.patch
If the above doesn't work for you, your svn client may instead require the following syntax:
svn diff -x -u > my-twisted-patch.patch
- Begin the Review process. A core developer will review your changes and give you feedback.
- You respond to the feedback using the ticket, attaching further patches as necessary.
- Once your patch is in good shape and approved, it will be accepted.
- A core developer will create a new branch for your ticket: description-1234, where description is a summary and 1234 is the ticket #
- The new branch will be merged to trunk and your contribution will be forever remembered.
Twisted has a rigorous development process. Now that you have a basic idea of the overall process, you can continue reading about Contributing to Twisted