Skip to content

Developers wiki: Pull requests

Algiane Froehly edited this page May 13, 2022 · 9 revisions

Pull requests

mmg is an open source project so your contributions are welcome. You can help us to improve the mmg applications through:

  • bug fixes
  • features development.

The steps to contribute to the mmg project are detailed in the next paragraphs.

I/ Read carefully and agree the following paragraph

To see your work included in the project, please:

  • agree and fill the mmg-platform-corporate-contributor-assignment-agreement if the intellectual property of the contributed code belongs to your employer or the mmg-platform-individual-contributor-assignment-agreement if it belongs to you;

  • ask first before implementing any features;

  • do not perform code refactoring;

  • adopt our coding conventions:

    • use our indentation convention (2 spaces instead of tabulations);
    • do not add non significant white spaces (trailing white spaces or white spaces on blank line);
    • try to modify only things relevant with your PR (do not indent an entire file, even if needed, for example);
    • write accurate Doxygen comments (see for example the documentation of the API_functions.c file);
    • write accurate commit messages;
    • run the continuous integration test before opening any pull request.
  • agree to license your work under the GNU Lesser General Public License.

II/ Software contribution

To contribute to the mmg software:

    1. fork the project on GitHub and clone your fork:
git clone https://github.com/<username>/mmg
    1. And assign the original mmg repository to a remote named upstream:
git remote add upstream https://github.com/MmgTools/mmg
    1. Create a new branch to develop your feature from the develop branch of the upstream repository:
git checkout -b feature/myFeature upstream/develop
    1. If you want, you can push your feature branch up to your repository:
git push origin myfeature
    1. Contribute to the code. Don't forget to regularly merge the upstream develop branch into your feature branch:
      git pull upstream develop to avoid painful merge after huge modifications;
    1. open a pull request with title and detailed description.