Skip to content

Latest commit

 

History

History
87 lines (60 loc) · 5.17 KB

CONTRIBUTING.md

File metadata and controls

87 lines (60 loc) · 5.17 KB

Contributing

Welcome to Navit! We welcome contributions!

If you are interested in contributing to the Navit code repo then checkout the old Wiki and our new wiki hosted on ReadTheDocs

When pushing a pull request, please make sure you follow our:

For more information on our development process, see: https://wiki.navit-project.org/index.php/Development

Submitting patches

We are very happy that you like to participate and help the [[team]] to improve Navit :) To make this teamwork a pleasure for all, we will try to guide you trough this process:

Preparation

Make sure you are familar with our (development tips)[https://wiki.navit-project.org/index.php/Development], learned about the codebase and our guidelines. If you found a bug, please open a GitHub issue and bring up all details so others can check them and help you on isolating the defective code. Point out that you like to submit a patch.

Contibuting via a Pull Request

The easiest way to get started is to fork Navit, work on the feature and submit a pull request.

Prepare your repository:

  • Fork the Github repository and clone it using git clone (note that we use the trunk branch as our branch of reference for developments)
  • always use a separate branch for your improvement: git checkout -b <name of your branch>

Enhance Navit:

  • Find the bug (and please address only one issue per patch!) and try to fix it
  • always document new functions according to the doxygen standard discussed in the programming guidelines
  • Test test test if still compiles and the behaviour is as expected
  • Think about possible side effects (as performance, different settings, ...)

Submit your work:

  • Get the newest Git Navit version (see this documentation on how to sync your fork) and apply your changes once more
  • Test if everything still works fine
  • double check that you are on the correct branch with git status
  • commit your change using our commit message guidelines
  • push your branch (git push origin <name of your branch>)
  • Create a pull request on github
  • Wait to verify that all the tests in our CI finish successfully

If at some point you want to get write access to our repository, just contact us.

Review

It might take some time until somebody reviews the pull request (maybe try to reach out using one of the various ccontact methods listed in the wiki). If your changes are more complex, catch up new ideas, or still have some minor problems, it might be discussed and we might ask you to submit an updated version/adapt your changes.

So that's it, you helped Navit to go one step forward. Thank you very much :)

Contributing on the documentation

For the documentation we now use readthedocs pulled from the docs folder inside this repository<.

We follow the Documentation style guide from Sphinx (as readthedocs uses sphinx). With a small exception which is that we still use the .rst extension instead of the recommended .txt one for now.

The old wiki has been deprecated and is slowly being migrated to our new wiki.

To update or add documentation, create a pull request on github using a PR title starting by update:doc: and followed by a message explaining the change.

You can use the following command from the root of the git repository clone to check the linting of the documentation (The last argument is the output directory so you might have to adjust that) if you have sphinx-build installed:

mkdir /tmp/navit
sphinx-build -Dhtml_theme="sphinx_rtd_theme" -n -E -W --keep-going docs /tmp/navit/

Now if you want to view how the result would look like you can:

  • open file:///tmp/navit/index.html in your favorite browser
  • or if you prefer to run an http server on the directory you created the build in (/tmp/navit/ in the previously mentionned command) you can do so using: python3 -m http.server 8000 and then call http://localhost:8000 from your browser.

See also