Skip to main content
Jump to: navigation, search

BaSyx / Developer / Contributing

Contributing

For a contribution to Eclipse BaSyx, several requirements have to be met. They will be detailed in the following.

Eclipse Contributor Agreement

Eclipse BaSyx is using the Eclipse environment for managing code. Due to this, a valid Eclipse Account with a signed Eclipse Contributor Agreement is needed.

Usage of Gerrit

Eclipse BaSyx uses Gerrit for code review. This has several benefits, e.g. allowing to update an already committed changeset to address code review remarks.

Preparing Your Commit

For this a git commit hook needs to be installed that automatically adds information needed by Gerrit, namely the change id.

To install this commit hook, execute

curl -Lo .git/hooks/commit-msg https://git.eclipse.org/r/tools/hooks/commit-msg

by command line (e.g. Git Bash on Windows) in the folder where the Eclipse BaSyx repository resides. Please note that you have to repeat this step whenever you do a fresh check out of the repository.


Additionally, your commit message does need to contain a "signed of by" message. This can be added by using the -s parameter when creating the commit. Below an example of a commit message containing both a change id and a signed of by is given:

 Fixes bug: TCP server threads were never closed
* Adds appropriate unit test
Change-Id: I360b92cb786d005d8f06a5d98a433c6da67c7930
Signed-off-by: Frank Schnicke <frank.schnicke@iese.fraunhofer.de>

Pushing your Commit

Your git credentials are different to your Eclipse credentials. To retrieve your git credentials, log into Gerrit. Then, click on your name in the upper right corner and select Settings. There, you'll find your git username in the section HTTP Password. Additionally, use Generate Password to create your password.


Last, a commit does need to be pushed to Gerrit in a specific way. Instead of directly pushing to ${branch}, instead a push to refs/for/${branch} is expected. Afterwards, the commit will be processed by our Continuous Integration and will be manually reviewed, too. Finally, either your changeset gets accepted and merged or points of improvement will be given.

Updating your Commit

In the case of you wanting to update your changeset, either due to remarks by reviewers or any other reason, you have to amend your commit, either by git commit --amend or by rebasing. Please make sure that the change id is not modified. Afterwards, push your commit by using git push origin ${commit SHA}:refs/for/${branch}. The commit SHA can for example be obtained by using git log.

Back to the top