Contributing

Welcome hacker! So you have got something you would like to see in pydica-watchdog? Whee. This document will help you get started.

Important URLs

pydica-watchdog uses git to track code history and hosts its code repository at github. The issue tracker is where you can file bug reports and request features or enhancements to pydica-watchdog.

Before you start

Ensure your system has the following programs and libraries installed before beginning to hack:

  1. Python
  2. git
  3. ssh
  4. XCode (on Mac OS X)
  5. select_backport (on BSD/Mac OS X if you’re using Python 2.5/2.6)

Setting up the Work Environment

pydica-watchdog makes extensive use of zc.buildout to set up its work environment. You should get familiar with it.

Steps to setting up a clean environment:

  1. Fork the code repository into your github account. Let us call you hackeratti for the sake of this example. Replace hackeratti with your own username below.

  2. Clone your fork and setup your environment:

    $ git clone --recursive git@github.com:hackeratti/watchdog.git
    $ cd watchdog
    $ python tools/bootstrap.py --distribute
    $ bin/buildout

Important

Re-run bin/buildout every time you make a change to the buildout.cfg file.

That’s it with the setup. Now you’re ready to hack on pydica-watchdog.

Enabling Continuous Integration

The repository checkout contains a script called autobuild.sh which you must run prior to making changes. It will detect changes to Python source code or restructuredText documentation files anywhere in the directory tree and rebuild sphinx documentation, run all tests using nose, and generate coverage reports.

Start it by issuing this command in the watchdog directory checked out earlier:

$ tools/autobuild.sh
...

Happy hacking!

Table Of Contents

Related Topics

This Page