Skip to content

Latest commit

 

History

History
84 lines (62 loc) · 3.13 KB

CONTRIBUTING.md

File metadata and controls

84 lines (62 loc) · 3.13 KB

Licenses

ParadisEO modules are using free software licenses, any contribution should be licensed under the same license.

Module License Version Copyleft Patent-left
EO LGPL 2 Lib only No
EDO LGPL 2 Lib only No
MO CeCILL 2.1 Yes No
MOEO CeCILL 2.1 Yes No
SMP CeCILL 2.1 Yes No

Contribution Workflow

The maintainer(s) will try to answer under a couple of weeks, if not, do not hesitate to send an e-mail.

If you're not familiar with Git and merge requests, start by cloning one of the main repository:

  • git clone https://github.com/nojhan/paradiseo.git
  • git clone https://scm.gforge.inria.fr/anonscm/git/paradiseo/paradiseo.git

Git workflow

ParadisEO follows a classical Git workflow using merge requests. In order to fix a bug or add a feature yourself, you would follow this process.

cd paradiseo
git pull origin master # Always start with an up-to-date version.
git checkout -b <my_feature> # Always work on a dedicated branch.
# [ make some modifications… ]
git commit <whatever>
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -BUILD_TESTING=ON -DENABLE_CMAKE_TESTING=ON .. && make && ctest # Always test.
cd ..
git pull origin master # Always check that your modification still merges.

If everything went without error, you can either send the patch or submit a merge request. To do so, you can either:

See below for the details.

Github pull request

Once logged in Github, go to the maintainer repository and click the "fork" button. You should have your own copy of the ParadisEO project under your own name. Then add it as an additional "remote" to your ParadisEO Git tree: git remote add me <your own URL>. Then, checkout the branch holding the modifications you want to propose, check that it merges with the main repository and push it on your own repository:

git checkout <my_feature>
git pull origin master
git push me <my_feature>

Then go to the maintainer's repository page, click on the "Pull request" tab, and on the "New pull request" button. You should then select the maintainer's master branch on the left dropdown list, and your own my_feature on the right one. Explain why the maintainer should merge your modifications and click the "Submit" button.

E-mail your patch

Generate a patch file from the difference between your branch and a fresh master:

git pull origin master
git diff master <my_feature> > my_feature.patch

Then send the my_feature.patch (along with your explanations about why the maintainer should merge your modifications) to the mailing list.