/usr/share/doc/python-watchdog/html/_sources/hacking.txt is in python-watchdog 0.8.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | .. include:: global.rst.inc
.. _hacking:
Contributing
============
Welcome hacker! So you have got something you would like to see in
|project_name|? Whee. This document will help you get started.
Important URLs
--------------
|project_name| 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 |project_name|.
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.6)
Setting up the Work Environment
-------------------------------
|project_name| 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 |project_name|.
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!
|