-
Notifications
You must be signed in to change notification settings - Fork 2
Contributing_procedure
Home > Contributing > Procedure
Here are some easy ways in which you could contribute to the development or documentation of the FELIX Management Stack.
First follow the installation and configuration guides of the module you wish to contribute to. Installation and configuration of other modules may be necessary if interconnections are required.
You should be able to run the software in your local environment and test the behaviour locally.
If you find any issue when running a FELIX module, you may report that in one of two ways:
- Opening a bug ticket or enhancement requirement through the GitHub issue tracker
- E-mail developer(s) in charge of the development
After fixing any malfunction in a given module, or adding a new functionality, you should check and test the new behaviour locally. When finished, you may check the following instructions.
For large contributions or modifications, a pull request may be issued. For small patches and modifications, consider using the git patches.
There are at least two ways to generate the patch files and send them to the specific development team:
- Use
git format-patch
to generate and send at the same time
# Send via e-mail the generated patch between two revisions
git format-patch --to <email_of_development_team> <commit_before_start_range>..<latest_commit_end_range>
- First create the patches, then send all in a single e-mail
# Create a patch file between two revisions
git diff <commit_before_start_range> <latest_commit_end_range> > minor.patch
# Configuring git e-mail settings
git config sendemail.to <email_of_development_team>
# Send through e-mail the generated patch file(s)
git send-email --smtp-server=<smpt_email_server> *.patch
If you perform any bug fixing on the source code of one of the FELIX modules, develop a new module or improve documentation of one of the modules; you should contact the involved development teams to integrate your changes in the component branch. After that, your name (and optionally your e-mail) will be added to a CONTRIBUTORS
file within the source of the component.
The easiest way to notify of a modification in the code is to issue a GitHub pull request. You shall fork the FELIX repository under your account and use it to send the pull request against the FELIX repository (if you create a new branch, you shall perform the pull request on it).
- Clone the FELIX (bare) repository and create another one for modifications:
# Clone the FELIX repository in bare mode and host this in a machine with public access
git clone --bare https://github.com/dana-i2cat/felix.git /<path_to_felix_bare_repo>/felix.git
# Clone the above repository
git clone ssh://<git_user>@<git_host>:<git_port>/<path_to_felix_bare_repo>/felix.git felix_mod
- Move to the desired component branch and create a new one for modifications:
# Move to the branch/component you would like to contribute to
cd felix_mod
git checkout <component_branch>
# Create a new branch for modifications
git checkout -b <component_branch_new>
- Perform any modification on the sources and store in the bare repository:
# Modify the source
# Perform a commit on the modified repository
git commit -m "Adding fix for issue #XYZ or adding new capability"
# Perform a push on the bare repository
git push origin <component_branch_new>
- Prepare the pull request:
git request-pull origin/<component_branch_new> \
ssh://<git_user>@<git_host>:<git_port>/<path_to_felix_bare_repo>/felix.git
- Send an e-mail with the pull request:
-
Either directing the pull request through
mailx
:
git request-pull origin/<component_branch_new>
ssh://<git_user>@<git_host>:<git_port>/<path_to_felix_bare_repo>/felix.git |
mailx <email_of_development_team> -s "FELIX - Pull request - "
```
- Or manually copying the text provided by
git pull-request
to an e-mail. The text should be something like the following:
The following changes since commit fb02c8b266642d045c11198d4c4316ebf994e420:
FELIX - Pull request - (2015-09-22 12:39:36 +0200)
are available in the git repository at:
ssh://<git_user>@<git_host>:<git_port>/<path_to_felix_bare_repo>/felix.git <component_branch_new>
for you to fetch changes up to fb02c8b266642d045c11198d4c4316ebf994e420:
FELIX - Pull request - (2015-09-22 12:39:36 +0200) ```
- General info
- Administering
- Contributing
- Experimenting