What is sprinting?
(From the PyCon Sprinting Wiki)
A sprint is a focused development session, in which developers pair in a room and focus on building a particular subsystem. A sprint is organized with a coach leading the session. The coach sets the agenda, tracks activities, and keeps the development moving. The developers will sometimes work in pairs using the Extreme Programming (XP) pair programming approach.
The sprint approach works best when the first few hours are spent getting oriented – presenting a tutorial for the development material, laying out the stories to tackle for the day, getting everyone a CVS or SVN checkout to work with. Sprint orientation sessions will probably be on either Sunday afternoon or Monday morning.
What should I do?
Sprinting is generally a great way to get involved in the community, and know the code you probably have used in more depth. Pylons generally has sprinters work on various tickets on the PylonsHQ Trac, as well as in person overviews on different aspects of Pylons and WSGI. You should sign into the PylonsHQ Trac
, so that you can assign tickets you want to work on to yourself, so that effort isn't duplicated.
Be prepared to take some initiative and find tickets and tasks that interest you to sprint on.
Getting the Code
Pylons has quite a few parts, getting all of them setup and ready to work can be a bit of a chore. To make this easier, there is a script that will setup a virtualenv with the latest source for all the primary Pylons components. Your machine will require svn already installed to run it:
curl http://pylonshq.com/download/0.9.7/go-pylons-dev.py | python - mydevenv
# activate the virtualenv
$ source mydevenv/bin/activate
Collaborating Online
We are online at #pytgwsgisprint on irc.freenode.net to collaborate on code.
Submitting a patch
Patches can be submitted either via patch output for svn projects, or as a Mercurial bundle for Mercurial based projects (Pylons, WebError, WebHelpers, Routes). To make a Mercurial bundle, first, commit your changes to the local repository.
Then pack up the changes to attach to the patch with: