For submitting code, use UTF-8
everywhere, unix-eol(LF
) and set git --config core.autocrlf = input
.
The typical development procedure is like this:
Modify the sources in small, isolated and well-defined changes, i.e. adding a single feature, or fixing a specific bug.
Add test-cases "proving" your code.
Rerun all test-cases to ensure that you didn't break anything, and check their coverage remain above 80%:
$ pytest
If you made a rather important modification, update also the :doc:`CHANGES` file and/or other documents (i.e. README.rst). To see the rendered results of the documents, issue the following commands and read the result html at :file:`build/sphinx/html/index.html`:
$ python setup.py build_sphinx # Builds html docs
If there are no problems, commit your changes with a descriptive message.
Repeat this cycle for other bugs/enhancements.
When you are finished, push the changes upstream to github and make a merge_request. You can check whether your merge-request indeed passed the tests by checking its build-status |build-status| on the integration-server's site (TravisCI).
Hint
Skim through the small IPython developer's documentation on the matter: The perfect pull request