Skip to content

Developers wiki: Pull requests

Algiane Froehly edited this page Oct 5, 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. Note that you can check your remote with git remote -v. You will need to fetch the upstream branch :
git fetch upstream
    1. Create a new develop branch that points toward MmgTools/mmg develop branch:
git checkout -b develop upstream/develop
    1. Create a new branch for your feature from the develop branch:
git checkout -b feature/myFeature develop
    1. If you want, you can push your feature branch up to your repository:
git push origin feature/myfeature
    1. To avoid painful merge after huge modifications, don't forget to regularly get the modifications of the upstream develop into your develop branch and to merge this into your feature branch:
git checkout develop
git pull upstream develop
git checkout feature/myFeature
git merge develop