add a CONTRIBUTING file
This commit is contained in:
parent
1c229889e9
commit
1e5e355acf
1 changed files with 84 additions and 0 deletions
84
CONTRIBUTING.md
Normal file
84
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
|
||||
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.
|
||||
|
||||
```bash
|
||||
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:
|
||||
- submit a "pull request" on Github: [nojhan/paradiseo](https://github.com/nojhan/paradiseo),
|
||||
- or send a patch on the [ParadisEO mailing list](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users).
|
||||
|
||||
See below for the details.
|
||||
|
||||
|
||||
Github pull request
|
||||
-------------------
|
||||
|
||||
Once logged in Github, go to the [maintainer repository](https://github.com/nojhan/paradiseo) 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:
|
||||
```bash
|
||||
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:
|
||||
```bash
|
||||
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](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users).
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue