debian-django-model-utils/CONTRIBUTING.rst

70 lines
2.0 KiB
ReStructuredText

Contributing
============
Below is a list of tips for submitting issues and pull requests.
Submitting Issues
-----------------
Issues are easier to reproduce/resolve when they have:
- A pull request with a failing test demonstrating the issue
- A code example that produces the issue consistently
- A traceback (when applicable)
Pull Requests
-------------
When creating a pull request:
- Write tests
- Note user-facing changes in the `CHANGES`_ file
- Update the documentation
- Add yourself to the `AUTHORS`_ file
- If you have added or changed translated strings, run ``make messages`` to
update the ``.po`` translation files, and update translations for any
languages you know. Then run ``make compilemessages`` to compile the ``.mo``
files. If your pull request leaves some translations incomplete, please
mention that in the pull request and commit message.
.. _AUTHORS: AUTHORS.rst
.. _CHANGES: CHANGES.rst
Translations
------------
If you are able to provide translations for a new language or to update an
existing translation file, make sure to run makemessages beforehand::
python django-admin.py makemessages -l ISO_LANGUAGE_CODE
This command will collect all translation strings from the source directory
and create or update the translation file for the given language. Now open the
translation file (.po) with a text-editor and start editing.
After you finished editing add yourself to the list of translators.
If you have created a new translation, make sure to copy the header from one
of the existing translation files.
Testing
-------
Please add tests for your code and ensure existing tests don't break. To run
the tests against your code::
python setup.py test
Please use tox to test the code against supported Python and Django versions.
First install tox::
pip install tox coverage
To run tox and generate a coverage report (in ``htmlcov`` directory)::
make test
**Please note**: Before a pull request can be merged, all tests must pass and
code/branch coverage in tests must be 100%.