Mercurial > kallithea
view docs/contributing.rst @ 4816:2b132bc99d6c
db: drop most lazy joins
Lazy joins will in some cases turn small selects into joins that returns huge
amounts of redundant data - increasingly bad as the repo size increases.
Lazy joins should only be used after careful analysis and with comments
explaining the case.
This change will make some operations faster and probably also make some
operations slower. Performance regressions would have to be analyzed and
addressed separately ... and differently.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 11 Feb 2015 02:40:28 +0100 |
parents | a9a1560dad79 |
children | 03bbd33bc084 |
line wrap: on
line source
.. _contributing: ========================= 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.6-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! .. _bitbucket: http://bitbucket.org/