Contributing¶
Your contributions to the mmg project are welcome. You can help us to improve our code by many means:
contact email address: contact@mmgtools.org
pull requests: please follow the guidelines below
feature requests: please use the mmg forum
bug reports: please use the GitHub issue tracker
a list of mmg contributors is available here
Pull requests¶
To contribute to mmg through bug fixes or feature development, please read the following guidelines.
I/ Read carefully and agree to the following paragraph¶
For your work to be included in the project, please:
agree and fill the corporate contributor agreement if the intellectual property of the contributed code belongs to your employer or the individual contributor agreement if it belongs to you, both available here.
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:
Fork the project on GitHub and clone your fork:
git clone https://github.com/<username>/mmg
Assign the original mmg repository to a remote named upstream:
git remote add upstream https://github.com/MmgTools/mmg
Note that you can check your remote with
git remote -v
. You will need to fetch the upstream branch:git fetch upstream
Create a new develop branch that points towards the
MmgTools/mmg
develop branch:git checkout -b develop upstream/develop
Create a new branch for your feature from the develop branch:
git checkout -b feature/myFeature develop
If you want, you can push your feature branch up to your repository:
git push origin feature/myfeature
To avoid painful merge after huge modifications, do not 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
Open a pull request with a title and a detailed description.