wiki:BasicGuideToContributingCode

Version 7 (modified by exarkun, 2 years ago) (diff)

--

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 Source

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

  1. Tests are required
  2. Docstrings are required

Hack away and then run the full Twisted test suite and make sure your new tests pass along with entire suite:

trial twisted

Submit a Patch

Create a patch 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

Review Process

  1. Begin the Review process. A core developer will review your changes and give you feedback.
  2. You respond to the feedback using the ticket, attaching further patches as necessary.
  3. Once your patch is in good shape and approved, it will be accepted.
  4. A core developer will create a new branch for your ticket: description-1234, where description is a summary and 1234 is the ticket #
  5. The new branch will be merged to trunk and your contribution will be forever remembered.

Next Steps

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