Contributing to Kallithea — Kallithea 0 documentation

### Navigation

- index
- modules |
- next |
- previous |
- Kallithea 0 documentation »

# Contributing to Kallithea

If you would like to contribute to Kallithea, please contact us, any help is greatly appreciated!

Could I request that you make your source contributions by first forking the Kallithea repository on bitbucket https://bitbucket.org/conservancy/kallithea and then make your changes to your forked repository. Please post all fixes into dev bookmark since your change might be already fixed there and i try to merge all fixes from dev into stable, and not the other way. Finally, when you are finished with your changes, please send us a pull request.

To run Kallithea in a development version you always need to install the latest required libs. Simply clone Kallithea and switch to beta branch:

    hg clone https://kallithea-scm.org/repos/kallithea

after downloading/pulling Kallithea make sure you run:

    python setup.py develop

command to install/verify all required packages, and prepare development enviroment.

There are two files in the directory production.ini and developement.ini copy the development.ini file as rc.ini (which is excluded from version controll) and put all your changes like db connection or server port in there.

After finishing your changes make sure all tests passes ok. You can run the testsuite running `nosetest` from the project root, or if you use tox run tox for python2.5-2.7 with multiple database test. When using nosetests test.ini file is used and by default it uses sqlite for tests, edit this file to change your testing enviroment.

There’s a special set of tests for push/pull operations, you can runn them using:

    paster serve test.ini --pid-file=test.pid --daemon
    KALLITHEA_WHOOSH_TEST_DISABLE=1 KALLITHEA_NO_TMP_PATH=1 nosetests -x kallithea/tests/other/test_vcs_operations.py
    kill -9 $(cat test.pid)

Thank you for any contributions!

### Navigation

- index
- modules |
- next |
- previous |
- Kallithea 0 documentation »